|  |  | 
|  | 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:  while verlassen (1964 mal gelesen) | 
 | gmk Mitglied
 Dipl.-Ing.(FH) Vermessung
 
    
 
      Beiträge: 672Registriert: 23.10.2002
 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM |    erstellt am: 25. Mrz. 2004 10:02  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 25. Mrz. 2004 10:16  <-- editieren / zitieren -->    Unities abgeben:           Nur für gmk   
  Gar nicht. [ESC] löst einen Abbruch aus. Setze doch die Bedingung so, dass du keinen Abbruch brauchst. Du kannst ja dem (entsel ..) auch ein Initget mit Keywörtern voranstellen, und hinterher die Rückgabe von (entsel..)testen. also in etwa so: (while (/= antw "Nein") (initget "Ja Nein") (setq antw(entsel "\nWeitere Objekte wählen? [Ja/Nein]<Nein>:")) (if (not antw)(setq antw "Nein")) (if (= 'ENAME (type antw)) (setq obj (car antw)) ) ) Bei Fragen ... Grüße Holger ------------------Holger Brischke
 (defun - Lisp over night!
 AutoLISP-Programmierung für AutoCAD
 Da weiß man, wann man's hat!
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | mkl-cad Mitglied
 Technischer Zeichner
 
   
 
      Beiträge: 378Registriert: 23.07.2003
 ACAD 2002Express Tools 1-9
 Architektural Desktop
 Windows XP
 Server Windows 2003
 3 GHz Rechner
 1 GB RAM
 80 GB Festplatte
 ATI FireGL V3100
 2 17" Flachbildschirme
 |    erstellt am: 25. Mrz. 2004 11:54  <-- editieren / zitieren -->    Unities abgeben:           Nur für gmk   | 
                        | gmk Mitglied
 Dipl.-Ing.(FH) Vermessung
 
    
 
      Beiträge: 672Registriert: 23.10.2002
 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM |    erstellt am: 26. Mrz. 2004 10:04  <-- editieren / zitieren -->    Unities abgeben:            
  hallo holger! danke für dein beispiel.hab's jetzt nochmal mit read-char probiert und evtl. das zeichen 27 [ESC]auszulesen, hatte aber leider auch keinen erfolg (ebenfalls abbruch).
 hintergrund ist, dass ich vor der while-schleife eine sysvar umstelle und nach einem eventuellen abbruch mit esc gerne wieder den ursprünglichen stand hätte. evtl. gib's ja noch eine andere lösung.... ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 26. Mrz. 2004 12:18  <-- editieren / zitieren -->    Unities abgeben:           Nur für gmk   | 
                        | Dabrunz Mitglied
 
 
   
 
      Beiträge: 127Registriert: 28.05.2003
 |    erstellt am: 26. Mrz. 2004 16:37  <-- editieren / zitieren -->    Unities abgeben:           Nur für gmk   
  Tag zusammen.   Zitat:Original erstellt von gmk:
 (WHILE (SETQ obj (CAR (ENTSEL "\nText/Block wählen: ")))
 .....
 ) ;ende while
 wie komme ich aus dieser schleife auch mit esc raus?
 
 Mit Unterdrückung des Fehlers. Siehe hierzu:  http://www.industrie24.com/bbs/read.php?f=5&i=3878&t=3873  Da habe ich die beiden Funktionen :excep-catch und :supressExcept vorgestellt. Mit letzterer kann die while-Bedingung dann so aussehen: Code:
 (while (setq obj (car(:supressExcept'(ENTSEL "\nText/Block wählen: "))))
 ...
 ); end WHILE-LOOP
 (if (not obj)(beende-die-funktion-wie-gewuenscht ..)
 )
 
 
 Achim Dabrunz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | gmk Mitglied
 Dipl.-Ing.(FH) Vermessung
 
    
 
      Beiträge: 672Registriert: 23.10.2002
 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM |    erstellt am: 29. Mrz. 2004 08:51  <-- editieren / zitieren -->    Unities abgeben:            
  hallo holger und achim! vielen dank für eure links. habe mich für den tipp von achim entschieden (funkt 1a!), da ich in der while-schleife noch eine funktion mit esc abbrechen möchte. ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                       
 | axeld Mitglied
 Projektingenieur/CAD-Administrator
 
   
 
      Beiträge: 267Registriert: 18.11.2002
 |    erstellt am: 29. Mrz. 2004 12:11  <-- editieren / zitieren -->    Unities abgeben:           Nur für gmk   
  Warum machst Du es nicht so, dann kann man mit RETURN oder mit ESC aus der Schleife raus: (while (and (setq ents (entsel "\nText/Block wählen <Abbruch>: "))(setq obj (car ents))
 )
 ...
 )
 
 ------------------Axel
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |