| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: while verlassen (1739 mal gelesen)
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 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: 4187 Registriert: 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: 378 Registriert: 23.07.2003 ACAD 2002 Express 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: 669 Registriert: 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: 4187 Registriert: 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: 127 Registriert: 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 whilewie 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: 669 Registriert: 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: 267 Registriert: 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 |