;;; ******************************************************************* ;;; * Autor : Dipl. Ing. Jan Tappenbeck * ;;; * Projektname : MNU_UPDATE * ;;; * für AutoCAD : R14,R2000/R2002 * ;;; ******************************************************************* ;;; * Versionsnummer: 1.0 * ;;; * Datei : MNU_UPDATE.LSP * ;;; * zugehörige DCL: - entfällt - * ;;; * zugehörige SLD: - entfällt - * ;;; * Sprache : deutsch / international * ;;; * Änderungen : ./. * ;;; ******************************************************************* ;;; * Kurzbeschreibung: * ;;; * aktualisieren von Pull-Down-Menü´s * ;;; ******************************************************************* ;;; * Globale Variablen * ;;; * - entfällt - * ;;; ******************************************************************* ;;; * (c) Jan Tappenbeck, 10/2001, Germany * ;;; * jan.tappenbeck@t-online.de * ;;; ******************************************************************* ;;; * * ;;; * Lizenz: * ;;; * Das Programm wird als Freeware-Version freigegeben ! * ;;; * * ;;; * Für Schäden, die durch die Anwendung dieses Programmes * ;;; * entstehen, kann keine Haftung übernommen werden ! * ;;; * * ;;; ******************************************************************* ;;; * * ;;; * Disclaimer: * ;;; * This software is provided "as is" without express or * ;;; * implied warranty. * ;;; * * ;;; ******************************************************************* (defun MNU_UPDATE (*MNU_UPDATE$MGROUP* ;Name der Menügruppe *MNU_UPDATE$POP* ;Liste der zu integrierenden Pull-Down-Menü´s / pop_name n ) (modes ;speichern der Systemvariablen '("CMDECHO" "FILEDIA") ) (setvar "cmdecho" 0) ;Bildschirmprotokoll ausschalten (setvar "FILEDIA" 0) (princ (strcat "\n\n** " *MNU_UPDATE$MGROUP* " - Update **") ) (command "_.MENUUNLOAD" *MNU_UPDATE$MGROUP*) (princ (strcat "\nMenü <" *MNU_UPDATE$MGROUP* "> entfernt !") ) (princ "\nInstalliere Update !") (command "_.MENULOAD" (strcat *MNU_UPDATE$MGROUP* ".MNU")) (foreach pop_name *MNU_UPDATE$POP* (if (menugroup *MNU_UPDATE$MGROUP*) (progn (setq n 1) (while (< n 24) (if (menucmd (strcat "P" (itoa n) ".1=?")) (setq n (+ n 1)) (progn (if (> n 3) (setq n (- n 2)) (setq n 3) ) ;endif (menucmd (strcat "p" (itoa n) "=+" *MNU_UPDATE$MGROUP* "." pop_name );end-strcat );end-menucmd (setq n 25) ) ;end-progn ) ;endif - menucmd ) ;end-while ) ;end-progn ) ;endif ) ;end-foreach (PRINC (strcat *MNU_UPDATE$MGROUP* "-Menü aktualisiert !\n")) (moder) (princ) ) ;;-------------- Fehlerroutinen ------------------------- (DEFUN modes (a) ;speichern der Systemvariablen (SETQ mlst '()) (REPEAT (LENGTH a) (SETQ mlst (APPEND mlst (LIST (LIST (CAR a) (GETVAR (CAR a)))))) (SETQ a (CDR a)) ) ) (DEFUN moder () ; Rücksetzen der Systemvariablen - Unterprogramm (REPEAT (LENGTH mlst) (SETVAR (CAAR mlst) (CADAR mlst)) (SETQ mlst (CDR mlst)) ) ) (defun MNU_UPDATE$ERR (s) ;interne Fehlerroutine (if (/= s "Funktion abgebrochen") (princ (strcat "\nFehler: " s)) ) (setq *error* old_err) (COMMAND "_.UNDO" "_End") (moder) (princ) ) (princ "\n\nProgramm für das aktualisieren von Pull-Down-Menü´s") (princ "\n(c) jan.tappenbeck@t-online.de 10/2001") (princ)