;; ; ; ; Programm: MSP-001.LSP ; ; Erstellungs-Datum: 2006.10.10 Jahr/Monat/Tag ; ; Beschreibung: Sprinkler-Layer wählen oder neu erstellen. ; ; ; ;; (DEFUN C:MSP-001( / MSP001D MSP001EINL1 MSP001FLAG MSP001KOOR1 MSP001MEDIUM11 MSP001NBD1 MSP001NLLESENKUERZEL NANO2 PROHLK3D_DIA) (setq MSP001FLAG 3) (while (= MSP001FLAG 3) (MSP001DatenOeffnen) (MSP001LayerLesen) (SETQ nano2 1) (SETQ MSP001D (LOAD_DIALOG "C:/Programme/ProHLK/Fenster/MSP001D.dcl")) (IF (NOT (NEW_DIALOG "MSP001D" MSP001D))(EXIT)) (START_IMAGE "ProHLK3D_dia") (SETQ ProHLK3D_dia "C:/Programme/ProHLK/Dia/ProHLK2D.sld") (SLIDE_IMAGE -12 -12 40 40 ProHLK3D_dia) (END_IMAGE) (IF (AND (= msp001koor1 nil)(= msp001einl1 nil)) (PROGN (SET_TILE "msp001koor" "1")(MSP001WKF)) (PROGN (IF (= msp001koor1 "1")(SET_TILE "msp001koor" msp001koor1)) (IF (= msp001einl1 "1")(SET_TILE "msp001einl" msp001einl1)) (MSP001WKF) ) ) (IF (/= msp001nllesenkuerzel nil) (PROGN (start_list "msp001medium" 3) (mapcar 'add_list msp001nllesenkuerzel) (end_list) ) ) (MSP002TEXT)(MSP002MEDIUMSCHREIBEN) (IF (= msp001medium11 nil) (PROGN (SET_TILE "msp001medium" "0")) (PROGN (SET_TILE "msp001medium" msp001medium11)(MSP002TEXT)) ) (IF (= msp001nbd1 nil) (PROGN (SET_TILE "msp001nbd" "0")(MSP001WBE)) (PROGN (IF (= msp001nbd1 "0")(SET_TILE "msp001nbd" "0")) (IF (= msp001nbd1 "1")(SET_TILE "msp001nbd" "1")) (IF (= msp001nbd1 "2")(SET_TILE "msp001nbd" "2")) (MSP001WBE) ) ) (ACTION_TILE "msp001medium" "(MSP002TEXT0)(MSP002TEXT)") (ACTION_TILE "msp001nbd" "(MSP001WBE)") (ACTION_TILE "msp001koor" "(MSP001WKF)") (ACTION_TILE "msp001einl" "(MSP001WKF)") (ACTION_TILE "msp001neu" "(done_dialog 3)") (ACTION_TILE "msp001ok" "(done_dialog 1)") (ACTION_TILE "msp001abbr" "(done_dialog 2)") (ACTION_TILE "msp001help" "(MSP001HELP)") (SETQ msp001flag (start_dialog)) (UNLOAD_DIALOG MSP001D) (IF (= msp001flag 3)(C:MSP002)) );;;endwhile ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Namen von Layer schreiben in DCL. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP002MEDIUMSCHREIBEN() (SET_TILE "msp001txt" (strcat ">> " msp002nllesenmedium3 " <<")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Wert für Layer Test ausgeschrieben. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP002TEXT0() (SETQ msp001medium11 (get_tile "msp001medium")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Bestimmungs ob es Montage, Bestehend oder Demontage. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP001WBE() (SETQ msp001nbd1 (get_tile "msp001nbd")) (IF (= msp001nbd1 "0")(SETQ msp000be2 "")) (IF (= msp001nbd1 "1")(SETQ msp000be2 "_BEST")) (IF (= msp001nbd1 "2")(SETQ msp000be2 "_DEM" )) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Monatge Koordination oder Einlagen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP001WKF() (SETQ msp001koor1 (get_tile "msp001koor")) (SETQ msp001einl1 (get_tile "msp001einl")) (IF (= msp001koor1 "1")(SETQ msp001kf "SP_")(SETQ msp001kf "SPE_")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Öffnen von Layer-Datenbank. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP001DatenOeffnen() (SETQ msp001nlayer (OPEN "C:/Programme/ProHLK/Layer/Sprinkler.dat" "r")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Neue Layer-Datenbank lesen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP001LayerLesen() (SETQ msp001nllesen (read-line msp001nlayer)) (SETQ msp001nlzeilenlaenge (strlen msp001nllesen)) (SETQ msp001nllesenmedium (list (substr msp001nllesen 5 msp001nlzeilenlaenge))) (SETQ msp001nllesenkuerzel (list (substr msp001nllesen 1 3))) (SETQ msp001zN 0) (WHILE (/= msp001nllesen nil) (IF (= msp001zN 0)(SETQ msp001zN 1)) (SETQ msp001nllesen (read-line msp001nlayer)) (IF (/= msp001nllesen nil) (PROGN (SETQ msp001nllesenmedium (reverse (cons (substr msp001nllesen 5 20) (reverse msp001nllesenmedium)))) (SETQ msp001nllesenkuerzel (reverse (cons (substr msp001nllesen 1 3) (reverse msp001nllesenkuerzel)))) (SETQ msp001zN (1+ msp001zN)) ) ) ) (CLOSE msp001nlayer) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Layer-Liste von Datenbank ermitteln. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP002TEXT() (SETQ msp002list1 (get_tile "msp001medium")) (SETQ msp002rept (+ (atoi msp002list1) 1)) (SETQ msp002nlayer3 (OPEN "C:/Programme/ProHLK/Layer/Sprinkler.dat" "r")) (REPEAT msp002rept (PROGN (SETQ msp002nllesen3 (read-line msp002nlayer3)) (SETQ msp002nlzeilenlaenge3 (strlen msp002nllesen3)) (SETQ msp002nllesenmedium3 (substr msp002nllesen3 5 (- msp002nlzeilenlaenge3 8))) (SETQ msp002nllesenkuerzel3 (substr msp002nllesen3 1 3)) ) ) (CLOSE msp002nlayer3)(MSP002MEDIUMSCHREIBEN) )