| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Programm sauber verlassen (804 mal gelesen)
|
Ex-Mitglied | |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 27. Jul. 2007 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für Rabbit 007
Hallo Rabbit, eine Lösung nicht, aber eine Frage? Wozu brauchst Du ein "doppeltes ESC", soll das für unentschlossene User sein, die ausversehen ESC drücken? Ich bin der Meinung, wer ESC drückt muß auch damit rechnen, das ein Programm abgebrochen wird. Aber vielleicht hat das bei Dir ja auch einen ganz anderen Hintergrund. Das der zweite *error*-Aufruf nicht funktioniert liegt meiner Meinung daran, daß Du Dich dann bereits in der *error*-Funktion befindest. ------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 27. Jul. 2007 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für Rabbit 007
Hallo Rabbit, villeicht solltest Du in 2 While-Schleifen arbeiten, folgender Code ist nur ein Gedankeansatz. Code:
(defun c:test ( / ) (setq zaehler 1) (while(/=(setq blockname (getstring "\nBitte Blockname:"))"") (while (setq pkt (getpoint "\nBitte Einfügepunkt (ENTER=neuer Blockname)")) (command ".insert" blockname pkt ...) (setq zaehler (+ zaehler 1)))))
------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 27. Jul. 2007 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für Rabbit 007
Es gibt doch jetzt in LISP die Fehlerbehandlung ! (vl-catch-all-apply) Da kannst Du im Lisp schon fehler abfangen ! (setq suc (vl-catch-all-apply 'getpoint )) (cond ((vl-catch-all-error-p suc) (print "Escape gedrückt oder sonstiger Abbruch")) ((= (type suc) 'LIST) (print "Punkt gewählt")) ((not suc) (print "rechte Maustatse")) ); cond
------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 31. Jul. 2007 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Rabbit 007
Allerdings fällt mir gerade ein, würde ich das sowieso mit (INITGET) steuern z.B.: (initget "B N") (setq pkt (vl-catch-all-apply 'getpoint (list "Punkt wählen / [B]locknamen ändern / [N]ummer ändern :" )) (cond ((vl-catch-all-error-p pkt) (print "Escape gedrückt oder sonstiger Abbruch z.B.:falscher Buchstabe")) ((= (type pkt) 'LIST) (print "Punkt gewählt")) ((= pkt "B") (print "B Eingabe")) ((= pkt "N") (print "N Eingabe")) ((not pkt) (print "rechte Maustatse")) ); cond [Diese Nachricht wurde von fuchsi am 31. Jul. 2007 editiert.]
[Diese Nachricht wurde von fuchsi am 31. Jul. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |