| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Variable in Variable? (1141 mal gelesen)
|
holgerka75 Mitglied
Beiträge: 15 Registriert: 19.03.2004
|
erstellt am: 23. Mrz. 2004 09:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Lispler, kurze Frage, bestimmt einfach, aber ich verzweifle gerade dran: z.B. (setq a "Holger") (setq b "Hallo" a "wie gehts?") So funktioniert es nicht! Wie binde ich das a richtig in die zweite Variable b ein? Gruß und Danke Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Mrz. 2004 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für holgerka75
(setq a "Holger") (setq b "wie gehts?") (setq c (strcat a b)) bzw (setq d (strcat "Hallo " a " ,wie gehts?")) ------------------ - Thomas - [Diese Nachricht wurde von CADmium am 23. Mrz. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holgerka75 Mitglied
Beiträge: 15 Registriert: 19.03.2004
|
erstellt am: 23. Mrz. 2004 09:36 <-- 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: 23. Mrz. 2004 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für holgerka75
Hallo Holger, (setq a "Hallo" b (strcat a "Du da") c (strcat b "was machst du?") d (strcat a b c) e (strcat "Trallala" a b c "Dumdidum") f (strcat "Trallala" a e "Igitigitt" c "Dumdidum") ) du siehst, du kannst das in dem (Strcat..) Befehl beliebig anordnen. Du solltest dir mal die Grundlagen anschauen, denn eine Variable einer anderen zuzuweisen, bedeutet etwas ganz anderes, als Zeichenketten zu verbinden. Das ist doch das was du möchtest - oder? 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 |
holgerka75 Mitglied
Beiträge: 15 Registriert: 19.03.2004
|
erstellt am: 23. Mrz. 2004 09:55 <-- editieren / zitieren --> Unities abgeben:
Hi Holger (wie verwirrend), im Prinzip geht es darum: ich habe eine Koordinate in einer Variablen: Variable: kanalkoo Wert: (12345.678 87654.321 0) Diesen Wert (besser gesagt die Liste) möchte ich nun in einem Text haben, der ebenfalls in einer Variablen festgelegt ist: Variable: kanalfehler Wert: "Es wurde ein Fehler entdeckt! Bitte bei Koordinate ..... überprüfen!" Wobei bei "...." die Variable kanalkoo eingesetzt werden muss! Hmm, verständlich? Gruß Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Mrz. 2004 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für holgerka75
|
holgerka75 Mitglied
Beiträge: 15 Registriert: 19.03.2004
|
erstellt am: 23. Mrz. 2004 10:21 <-- editieren / zitieren --> Unities abgeben:
Hi! Danke, so funktionierts einwandfrei! Den Befehl vl-princ-to-string kannte ich nicht, der ist in meinem Tutorial nicht enthalten :-( Er bewirkt, das die Liste in einen string umgewandelt wird, ja? Was bedeutet denn das "vl"? Gruß Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Mrz. 2004 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für holgerka75
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 23. Mrz. 2004 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für holgerka75
Hallo Holger, es macht mich etwas ärgerlich, wenn ein Thread so aufgeblasen wird, weil nicht von Anfang an gesagt wird, was der Fragende eigentlich möchte. Bei nächsten mal: Bitte die Aufgabe konkret beschreiben, und dann auch die Dinge, die nicht funktionieren mit Fehlermeldung posten. Eine Koordinate ist ja keine Zeichenkette. Deshalb kannst du diese auch nicht mit der Funktion (strcat..) nutzen. Du musst nun also entweder die Koordinate komplett (also die Liste), oder die einzelnen Koordinatenwerte in eine Zeichenkette umwandeln. Mit der Funktion (vl-princ-to-string ..) kannst du alle Datentypen in eine Zeichenkette konvertieren, sowohl die ganze Liste als auch einzelne Koordinaten. Lösungen gibt es viele Z.Bsp (wie CADmium) die ganze Liste in eine Zeichenkette konvertieren: (vl-princ-to-string kanalkoo) oder nur die Werte (apply 'strcat (mapcar '(lambda (K)(strcat (vl-princ-to-string K) ", "))kanalkoo)) oder die Werte mit zusätzlicher Beschreibung (apply 'strcat (mapcar '(lambda (B K)(strcat B "=" K (vl-princ-to-string K) ", "))'("X" "Y" "Z") kanalkoo)) Das Ergebnis dieser Beispiele kannst du ja einer Variablen zuweisen und dann in deiner Fehlermeldung verarbeiten, mit dem (strcat ..) Befehl. 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 |