| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: while Schleife (464 mal gelesen)
|
wasc Mitglied Bautechniker
Beiträge: 52 Registriert: 15.04.2005 Windows 2000, ACAD2005, P4 2,8
|
erstellt am: 08. Nov. 2005 15:41 <-- editieren / zitieren --> Unities abgeben:
hallo ! ich weiss nicht was ich bei dieser schleife falsch mache !! will einfach das die eingabe auf zahl getestet wird und dann die zahl wieder als string bzw. als "" ausgegeben wird. entweder verstehe ich die funktion while nicht oder ich hab was übersehen. hab auch schon bei mapcar's seiten nachgesehen aber ich komme einfach nicht drauf !! für einen lispl'er eurer klasse sicherlich kein problem mir auf die sprünge zu helfen !! danke schon mal im voraus mfg walter (defun c:testzahl (/ abzw2) (while (/= abzw4 nil) (setq abzw2 (atoi (getstring "\nWert eingeben !"))) (if (= abzw2 0) (progn (alert "Bitte nur Zahlen eingeben !") (setq abzw3 "") ) (setq abzw4 (itoa abzw2)) ) ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 08. Nov. 2005 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für wasc
nimm (getint .. ) und guck dir (initget ..) an... ansonsten guck dir diese Testfunktion an : (defun INTP ( VAR ) (if(and (or(numberp VAR) (setq VAR(distof VAR)) ) (=(fix VAR)VAR) ) (setq VAR (fix VAR)) ) ) (intp 5) -> 5 (intp "5") ->5 (intp 5.5) -> nil (intp "5.5") ->nil (intp "fg") ->nil (intp "1e3") ->1000 ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H. Fegers Mitglied Dipl-Ing
Beiträge: 2 Registriert: 21.06.2005
|
erstellt am: 08. Nov. 2005 16:18 <-- editieren / zitieren --> Unities abgeben: Nur für wasc
Hallo Walter, deine Routine verstehe ich nicht ganz. Beim Aufruf ist die Variable "abzw4" NIL; d.h. die while-Schleife wird überhaupz nicht durchlaufen. Würde man vor der Schleife "abzw4" mit irgend einem Wert versehen, würde die while-Schleife zwar durchlaufen, aber nie mehr enden, da "abzw4" nirgends die Chance erhält den Wert NIL anzunehmen. mfg Helmut
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wasc Mitglied Bautechniker
Beiträge: 52 Registriert: 15.04.2005 Windows 2000, ACAD2005, P4 2,8
|
erstellt am: 08. Nov. 2005 20:46 <-- editieren / zitieren --> Unities abgeben:
|