(DEFUN C:MSP002( / ARCHIVWERTPOSO ARCHIVWERTPOSU ME002FLAG MSP002D PROHLK3D_DIA) (SETQ me001flag NIL) (SETQ MSP002D (LOAD_DIALOG "C:/Programme/Prohlk/Layer/MSP002D.dcl")) (IF (NOT (NEW_DIALOG "MSP002D" MSP002D))(EXIT)) (START_IMAGE "ProHLK3D_dia") (SETQ ProHLK3D_dia "C:/Programme/ProHLK/Dia/ProHLK2D.sld") (SLIDE_IMAGE -12 -12 40 40 ProHLK3D_dia) (END_IMAGE) (ARCHIVLesen) (set_tile "unique2" "0")(ARCHIVNW) (ACTION_TILE "unique2" "(ARCHIVNW)") (ACTION_TILE "bereichhinzu" "(done_dialog 33)") (ACTION_TILE "bereichaender" "(done_dialog 44)") (ACTION_TILE "bereichloesch" "(ARCHIVLOESCHEN)") (ACTION_TILE "archivrauf" "(ARCHIVNW)(ARCHIVRAUF)(ARCHIVPOSO)(set_tile \"unique2\" archivwertposo)") (ACTION_TILE "archivrunter" "(ARCHIVNW)(ARCHIVRUNTER)(ARCHIVPOSU)(set_tile \"unique2\" archivwertposu)(ARCHIVNW)") (ACTION_TILE "uniqueoeffnen" "(done_dialog 55)") (SETQ me002flag (start_dialog)) (UNLOAD_DIALOG MSP002D) (IF (= me002flag 33)(ARCHIVNEUHINZU)) (IF (= me002flag 44)(ARCHIVAENDER)) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv Wert. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVNW() (SETQ archivwert (get_tile "unique2")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv Position Oben. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVPOSO() (IF (<= (- (DISTOF archivwert ) 1) 0) (SETQ archivwertposo "0") (SETQ archivwertposo (rtos (- (DISTOF archivwert ) 1) 2 0)) ) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv Position Unten. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVPOSU() (SETQ archivmaxpos (atoi (rtos me002zN 2 0))) (IF (>= (atoi (rtos (+ (DISTOF archivwert) 1) 2 0)) archivmaxpos) (SETQ archivwertposu (rtos me002zN 2 0)) (SETQ archivwertposu (rtos (+ (DISTOF archivwert) 1) 2 0)) ) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv lφschen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVLOESCHEN() (ARCHIVLesen) (ARCHIVDATENOFFNUNG) (SETQ archivnllesen (read-line archivdatei)) (CLOSE archivdatei) (IF (> me002zN1 0) (PROGN (SETQ archivreihezahl (atoi (rtos (+ (DISTOF archivwert) 1) 2 0))) (ARCHIVDATENOFFNUNG) (REPEAT archivreihezahl (SETQ archivreihenamen (read-line archivdatei)) ) (CLOSE archivdatei) (SETQ archivdatei (open "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (FOREACH lizkont archivnllistelesen (IF (/= lizkont archivreihenamen) (PRINC (strcat lizkont "\n") archivdatei) ) ) (CLOSE archivdatei) (ARCHIVLesen) (IF (/= archivnllistelesen nil) (PROGN (start_list "unique2") (mapcar 'add_list archivnllistelesen) (end_list) ) ) (IF (= me002zN1 0)(SETQ archivnllistelesen '(""))) ) ) (ARCHIVLesen) (IF (/= archivnllistelesen '(""))(set_tile "unique2" archivwert)) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv raufverschieben. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVRAUF() (ARCHIVLesen) (SETQ archivreihezahl (atoi (rtos (+ (DISTOF archivwert) 1) 2 0))) (IF (/= (rtos (DISTOF archivwert) 2 0) "0") (PROGN (ARCHIVDATENOFFNUNG) (REPEAT archivreihezahl (SETQ archivreihenamen1 (read-line archivdatei)) ) (CLOSE archivdatei) (ARCHIVDATENOFFNUNG) (REPEAT (- archivreihezahl 1) (SETQ archivreihenamen0 (read-line archivdatei)) ) (CLOSE archivdatei) (SETQ archivdatei (open "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (FOREACH lizkont archivnllistelesen (IF (/= lizkont archivreihenamen0) (IF (/= lizkont archivreihenamen1) (PRINC (strcat lizkont "\n") archivdatei) ) (PROGN (ARCHV1EINF)(ARCHV0EINF)) ) ) (CLOSE archivdatei) (ARCHIVLesen) (IF (/= archivnllistelesen nil) (PROGN (start_list "unique2" 3) (mapcar 'add_list archivnllistelesen) (end_list) ) ) ) ) ) (DEFUN ARCHV1EINF() (PRINC (strcat archivreihenamen1 "\n") archivdatei) ) (DEFUN ARCHV0EINF() (PRINC (strcat archivreihenamen0 "\n") archivdatei) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv raufverschieben. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVRUNTER() (ARCHIVLesen) (SETQ archivreihezahl (atoi (rtos (+ (DISTOF archivwert) 1) 2 0))) (SETQ archivmaxpos (atoi (rtos me002zN 2 0))) (ARCHIVDATENOFFNUNG) (REPEAT archivreihezahl (SETQ archivreihenamen1 (read-line archivdatei)) ) (CLOSE archivdatei) (IF (/= archivmaxpos (DISTOF archivwert)) (PROGN (ARCHIVDATENOFFNUNG) (REPEAT (+ archivreihezahl 1) (SETQ archivreihenamen0 (read-line archivdatei)) ) (CLOSE archivdatei) (SETQ archivdatei (open "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (FOREACH lizkont archivnllistelesen (IF (/= lizkont archivreihenamen1) (IF (/= lizkont archivreihenamen0) (PRINC (strcat lizkont "\n") archivdatei) ) (PROGN (ARCHV0EINF)(ARCHV1EINF)) ) ) (CLOSE archivdatei) (ARCHIVLesen) (IF (/= archivnllistelesen nil) (PROGN (start_list "unique2" 3) (mapcar 'add_list archivnllistelesen) (end_list) ) ) ) ) ) (DEFUN ARCHV1EINF() (PRINC (strcat archivreihenamen1 "\n") archivdatei) ) (DEFUN ARCHV0EINF() (PRINC (strcat archivreihenamen0 "\n") archivdatei) ) ;€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€; ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Fenster fόr neue Layer erstellen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVNEUHINZU() (SETQ archivflag NIL) (SETQ MSP0022D (LOAD_DIALOG "C:/Programme/ProHLK/Layer/MSP0022D.dcl")) (IF (NOT (NEW_DIALOG "MSP0022D" MSP0022D))(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 (/= archivneuerwert1 nil)(set_tile "MSP0022neukuerzel" archivneuerwert1)) (IF (/= archivneuerwert nil)(set_tile "MSP0022neunamen" archivneuerwert)) (IF (/= msp0022farb1 nil)(set_tile "MSP0022neufarbe" msp0022farb1)) (ACTION_TILE "MSP0022neukuerzel" "(ARCHIVWKUERZEL1)") (ACTION_TILE "MSP0022neufarbe" "(MSP0022FARBE)") (ACTION_TILE "MSP0022farbeTabelle" "(done_dialog 444)") (ACTION_TILE "MSP0022neunamen" "(ARCHIVWKUERZEL)") (ACTION_TILE "MSP0022ok" "(done_dialog 555)") (ACTION_TILE "MSP0022abbr" "(done_dialog 666)") (ACTION_TILE "MSP0022help" "(ARCHIVHELP)") (SETQ archivflag (start_dialog)) (UNLOAD_DIALOG MSP0022D) (IF (= archivflag 444) (PROGN (SETQ msp0022farb (acad_colordlg 1)) (SETQ msp0022farb1 (itoa msp0022farb)) (ARCHIVNEUHINZU) ) ) (IF (= archivflag 555) (PROGN (IF (OR (= archivneuerwert "")(= archivneuerwert " ")(= archivneuerwert NIL) (= archivneuerwert1 "")(= archivneuerwert1 " ")(= archivneuerwert1 NIL) (= msp0022farb1 "")(= msp0022farb1 " ")(= msp0022farb1 NIL) ) (PROGN (SETQ ME006D (LOAD_DIALOG "C:/Programme/ProHLK/Fenster/ME006D.dcl")) (IF (NOT (NEW_DIALOG "ME006D" ME006D))(EXIT)) (ACTION_TILE "accept" "(DONE_DIALOG)") (START_DIALOG) (UNLOAD_DIALOG ME006D) (ARCHIVNEUHINZU) ) ) (ARCHIVDATENOFFNUNG) (ARCHIVKONTROLLE) (IF (/= archivlinielesen archivneuerwert1) (PROGN (ARCHIVDATENSchreiben) (ARCHIVLesen) ;(SETQ msp0022farb NIL msp0022farb1 NIL archivneuerwert NIL archivneuerwert1 NIL) (C:MSP002) ) (PROGN (ARCHIVLesen) ;(SETQ msp0022farb NIL msp0022farb1 NIL archivneuerwert NIL archivneuerwert1 NIL) (C:MSP002) ) ) ) ) (IF (= archivflag 666)(PROGN(SETQ msp0022farb NIL msp0022farb1 NIL archivneuerwert NIL archivneuerwert1 NIL)(C:MSP002))) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Wert fόr neue Krόzel. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVWKUERZEL1() (SETQ archivneuerwert1 (get_tile "MSP0022neukuerzel")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Wert fόr neue Namen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVWKUERZEL() (SETQ archivneuerwert (get_tile "MSP0022neunamen")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Φffnen von Layer-Datenbank um zu kontrollieren. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVDATENOFFNUNG() (SETQ archivdatei (OPEN "C:/Programme/ProHLK/Layer/Sprinkler.dat" "r")) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Wert fόr neue Farbe. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN MSP0022FARBE() (SETQ msp0022farb1 (get_tile "MSP0022neufarbe")) (SETQ msp0022farb (ATOI msp0022farb1)) ) ;€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€; ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Kontrolle vom neuer Layer ob es existiert. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVKONTROLLE() (IF (/= archivdatei nil) (PROGN (SETQ archivnllesenko (read-line archivdatei)) (IF (/= archivnllesenko nil) (PROGN (SETQ archivlinielesen (substr archivnllesenko 1 3)) (ARCHIVKONTROLLE1) (IF (/= archivlinielesen archivneuerwert1) (PROGN (WHILE (/= archivnllesenko nil) (SETQ archivnllesenko (read-line archivdatei)) (IF (/= archivnllesenko nil) (PROGN (SETQ archivlinielesen (substr archivnllesenko 1 3)) (ARCHIVKONTROLLE1) ) ) ) ) ) ) ) ) ) (CLOSE archivdatei) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Benachrichtigung fόr Benόtzer das neue Layer existiert. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVKONTROLLE1() (IF (= archivlinielesen archivneuerwert1) (PROGN (SETQ ME005D (LOAD_DIALOG "C:/Programme/ProHLK/Fenster/ME005D.dcl")) (IF (NOT (NEW_DIALOG "ME005D" ME005D))(EXIT)) (ACTION_TILE "accept" "(DONE_DIALOG)") (start_dialog) (UNLOAD_DIALOG ME005D) (SETQ msp0022farb1 NIL archivneuerwert NIL archivneuerwert1 NIL) (ARCHIVNEUHINZU) ) ) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Neue Layer in Datenbank schreiben. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVDATENSchreiben() (IF (< msp0022farb 10) (SETQ msp0022farb1 (strcat "00" msp0022farb1)) ) (IF (AND (> msp0022farb 9)(< msp0022farb 100)) (SETQ msp0022farb1 (strcat "0" msp0022farb1)) ) (IF (AND (> msp0022farb 99)(< msp0022farb 256)) (SETQ msp0022farb1 msp0022farb1) ) (SETQ archivnlneulinie2 (strcat archivneuerwert1 " " archivneuerwert " " msp0022farb1)) (IF (= archivdatei nil) (PROGN (SETQ archivdatei (OPEN "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (PRINC (strcat archivnlneulinie2 "\n") archivdatei) (CLOSE archivdatei) ) (PROGN (ARCHIVDATENOFFNUNG) (SETQ archivnllesen (read-line archivdatei)) (CLOSE archivdatei) (IF (= archivnllesen nil) (PROGN (SETQ archivdatei (OPEN "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (PRINC (strcat archivnlneulinie2 "\n") archivdatei) (CLOSE archivdatei) ) (PROGN (ARCHIVDATENOFFNUNG) (SETQ archivnllesen (read-line archivdatei)) (SETQ archivnllayerlinie (list (substr archivnllesen 1 40))) (WHILE (/= archivnllesen nil) (SETQ archivnllesen (read-line archivdatei)) (IF (/= archivnllesen nil) (PROGN (SETQ archivnllayerlinie (reverse (cons (substr archivnllesen 1 40) (reverse archivnllayerlinie)))) ) ) ) (CLOSE archivdatei) (SETQ archivdatei (OPEN "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (IF (/= archivdatei nil) (FOREACH kuerzel archivnllayerlinie (PRINC (strcat kuerzel "\n") archivdatei) ) ) (PRINC (strcat archivnlneulinie2 "\n") archivdatei) (CLOSE archivdatei) ) ) ) ) (ARCHIVLesen) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Neue Layer Datenbank lesen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVLesen() (ARCHIVDATENOFFNUNG) (SETQ archivnllesen (read-line archivdatei)) (IF (/= archivnllesen nil) (PROGN (SETQ archivnllistelesen (list (substr archivnllesen 1 40))) (SETQ me002zN 0)(SETQ me002zN1 1) (WHILE (/= archivnllesen nil) (SETQ archivnllesen (read-line archivdatei)) (IF (/= archivnllesen nil) (PROGN (SETQ archivnllistelesen (reverse (cons (substr archivnllesen 1 40) (reverse archivnllistelesen)))) (SETQ me002zN (1+ me002zN)) ) ) ) ) (SETQ me002zN 0 me002zN1 0 archivnllistelesen '("") ) ) (CLOSE archivdatei) (IF (/= archivnllistelesen nil) (PROGN (start_list "unique2") (mapcar 'add_list archivnllistelesen) (end_list) ) (PROGN (start_list "unique2") (mapcar 'add_list (list (""))) (end_list) ) ) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv δndern. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVAENDER() (SETQ archivaenflag NIL) (SETQ MSP00222D (LOAD_DIALOG "C:/Programme/ProHLK/Layer/MSP00222D.dcl")) (IF (NOT (NEW_DIALOG "MSP00222D" MSP00222D))(EXIT)) (START_IMAGE "ProHLK3D_dia") (SETQ ProHLK3D_dia "C:/Programme/ProHLK/Dia/ProHLK2D.sld") (SLIDE_IMAGE -12 -12 40 40 ProHLK3D_dia) (END_IMAGE) (ARCHIVNEUENAMENAENDERN)(ARCHINAMENAENDERN) (ACTION_TILE "MSP0022neukuerzel" "(ARCHINAMENAENDERN)") (ACTION_TILE "MSP0022neunamen" "(ARCHINAMENAENDERN)") (ACTION_TILE "MSP0022neufarbe" "(ARCHINAMENAENDERN)") (ACTION_TILE "MSP0022farbeTabelle" "(done_dialog 4444)") (ACTION_TILE "MSP0022ok" "(done_dialog 7777)") (ACTION_TILE "MSP0022abbr" "(done_dialog 8888)") (ACTION_TILE "MSP0022help" "(ARCHIVHELP)") (SETQ archivaenflag (start_dialog)) (UNLOAD_DIALOG MSP00222D) (IF (= archivaenflag 4444) (PROGN (SETQ msp0022farb2 (itoa (acad_colordlg msp0022farb))) (SETQ mspfarbwechsel "1") (ARCHIVAENDER) ) ) (IF (= archivaenflag 7777) (PROGN (IF (OR (= archivaendernwert "")(= archivaendernwert " ")) (PROGN (SETQ ME006D (LOAD_DIALOG "C:/Programme/ProHLK/Fenster/ME006D.dcl")) (IF (NOT (NEW_DIALOG "ME006D" ME006D))(EXIT)) (ACTION_TILE "accept" "(DONE_DIALOG)") (START_DIALOG) (UNLOAD_DIALOG ME006D) (ARCHIVAENDER) ) ) ) ) (ARCHIVNEUENAMELISTEERSTELLEN) (C:MSP002) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv namen zu δndern. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHINAMENAENDERN() (IF (= mspfarbwechsel "1") (set_tile "MSP0022neufarbe" msp0022farb2) ) (SETQ archivaendernwert (get_tile "MSP0022neunamen")) (SETQ archivaendernwert1 (get_tile "MSP0022neukuerzel")) (SETQ msp0022farb1 (get_tile "MSP0022neufarbe")) (IF (< (ATOI msp0022farb1) 10) (SETQ msp0022farb1 (strcat "00" msp0022farb1)) ) (IF (AND (> (ATOI msp0022farb1) 9)(< (ATOI msp0022farb1) 100)) (SETQ msp0022farb1 (strcat "0" msp0022farb1)) ) (IF (AND (> (ATOI msp0022farb1) 99)(< (ATOI msp0022farb1) 256)) (SETQ msp0022farb1 msp0022farb1) ) (START_IMAGE "MSP0022setzfarb") (FILL_IMAGE 0 0 50 50 (ATOI msp0022farb1)) (END_IMAGE) (SETQ mspfarbwechsel "0") ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv Namen zu aendern Wert. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVNEUENAMENAENDERN() (SETQ archivreihezahl (atoi (rtos (+ (DISTOF archivwert) 1) 2 0))) (ARCHIVDATENOFFNUNG) (REPEAT archivreihezahl (SETQ archivreihenamen (read-line archivdatei)) (SETQ msp002nlzeilenlaenge (strlen archivreihenamen )) ) (CLOSE archivdatei) (SET_TILE "MSP0022neukuerzel" (substr archivreihenamen 1 3)) (SET_TILE "MSP0022neunamen" (substr archivreihenamen 5 (- msp002nlzeilenlaenge 8))) (SETQ msp0022farb1 (substr archivreihenamen (- msp002nlzeilenlaenge 2) 3)) (IF (< (ATOI msp0022farb1) 10) (SETQ msp0022farb1 (substr msp0022farb1 3 1)) ) (IF (AND (> (ATOI msp0022farb1) 9)(< (ATOI msp0022farb1) 100)) (SETQ msp0022farb1 (substr msp0022farb1 2 2)) ) (IF (AND (> (ATOI msp0022farb1) 99)(< (ATOI msp0022farb1) 256)) (SETQ msp0022farb1 (substr msp0022farb1 1 3)) ) (SET_TILE "MSP0022neufarbe" msp0022farb1) ) ;-------------------------------------------------------------------------------------------------------------; ; Beschreibung: Archiv Namen geaendern neue Liste erstellen. ; ;-------------------------------------------------------------------------------------------------------------; (DEFUN ARCHIVNEUENAMELISTEERSTELLEN() (ARCHIVLesen) (SETQ archivdatei (open "C:/Programme/ProHLK/Layer/Sprinkler.dat" "w")) (FOREACH lizkont archivnllistelesen (IF (/= lizkont archivreihenamen) (PRINC (strcat lizkont "\n") archivdatei) (ARCHVAENDEINF) ) ) (CLOSE archivdatei) ) (DEFUN ARCHVAENDEINF() (SETQ archivaendernwert (strcat archivaendernwert1 " " archivaendernwert " " msp0022farb1)) (PRINC (strcat archivaendernwert "\n") archivdatei) )