home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / 圆方5.0 / SETUP / EXPAND.LSP < prev    next >
Encoding:
Lisp/Scheme  |  1998-04-07  |  2.1 KB  |  103 lines

  1. (defun lisp_expand ( arg / f_name selected_line fp c result type )
  2.  
  3.   (if (/= nil arg)
  4.     (progn
  5.       (setq f_name (nth 0 arg) selected_line (nth 1 arg))
  6.       (setq fp (open (findfile f_name) "r"))
  7.       (setq c 0)
  8.       (while (/= c selected_line)
  9.     (read-line fp)
  10.     (setq c (1+ c))
  11.       )
  12.       (setq result (read (strcat "(" (read-line fp) ")")))
  13.       (close fp)
  14.  
  15.       (setq type (nth 5 result))
  16.       (cond ( (= "PLATE" type)
  17.           (if (= nil plate)
  18.         (progn
  19.           (princ MSG043)
  20.           (load "unit")
  21.           ) )
  22.           (plate (cddr (cddr (cddr result))))
  23.         )
  24.         ( (= "COUNTER_1" type)
  25.           (if (= nil cou1)
  26.         (progn
  27.           (princ MSG048)
  28.           (load "counter")
  29.           ) )
  30.           (cou1 (cddr (cddddr result)))
  31.         )
  32.         ( (= "COUNTER_2" type)
  33.           (if (= nil cou2)
  34.         (progn
  35.           (princ MSG048)
  36.           (load "counter")
  37.           ) )
  38.           (cou2 (cddr (cddddr result)))
  39.         )
  40.         ( (= "COUNTER_3" type)
  41.           (if (= nil cou3)
  42.         (progn
  43.           (princ MSG048)
  44.           (load "counter")
  45.           ) )
  46.           (cou3 (cddr (cddddr result)))
  47.         )
  48.         ( (= "COUNTER_4" type)
  49.           (if (= nil cou4)
  50.         (progn
  51.           (princ MSG048)
  52.           (load "counter")
  53.           ) )
  54.           (cou4 (cddr (cddddr result)))
  55.         )
  56.         ( (= "COUNTER_5" type)
  57.           (if (= nil cou5)
  58.         (progn
  59.           (princ MSG048)
  60.           (load "counter")
  61.           ) )
  62.           (cou5 (cddr (cddddr result)))
  63.         )
  64.         ( (= "COUNTER_6" (nth 5 result))
  65.           (if (= nil cou6)
  66.         (progn
  67.           (princ MSG048)
  68.           (load "counter")
  69.           ) )
  70.           (cou6 (cddr (cddddr result)))
  71.         )
  72.         ( (= "SCALE_2D" (nth 5 result))
  73.           (if (= nil scale_2d)
  74.         (progn
  75.           (princ MSG048)
  76.           (load "scale_2d")
  77.           ) )
  78.           (scale_2d (cddr (cddddr result)))
  79.         )
  80.         ( (= "SCALE_5D" (nth 5 result))
  81.           (if (= nil scale_5d)
  82.         (progn
  83.           (princ MSG048)
  84.           (load "scale_5d")
  85.           ) )
  86.           (scale_5d (cddr (cddddr result)))
  87.         )
  88.                         ( (= "MEETDESK" type)
  89.                             (if (= nil desk_dialog)
  90.                                 (progn
  91.                                     (princ MSG051)
  92.                                     (load "desk")
  93.                             ) )
  94.                             (desk_dialog (cddr (cddddr result)))
  95.                         )
  96.             )
  97.         ) ; end progn
  98.     ) ; end if
  99.  
  100.   (princ)
  101. )
  102.  
  103.