|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung 
 | 
| Autor | Thema:  Programm sauber verlassen (856 mal gelesen) | 
 | Ex-Mitglied |  | 
 | joern bosse Ehrenmitglied
 Dipl.-Ing. Vermessung und AutoLISPler
 
      
 
      Beiträge: 1781Registriert: 11.10.2004
 Window 11ACAD 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 und AutoLISPler
 
      
 
      Beiträge: 1781Registriert: 11.10.2004
 Window 11ACAD 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: 1201Registriert: 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: 1201Registriert: 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 |