Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Variable in Variable?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Variable in Variable? (1048 mal gelesen)
holgerka75
Mitglied



Sehen Sie sich das Profil von holgerka75 an!   Senden Sie eine Private Message an holgerka75  Schreiben Sie einen Gästebucheintrag für holgerka75

Beiträge: 15
Registriert: 19.03.2004

erstellt am: 23. Mrz. 2004 09:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mrz. 2004 09:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerka75 10 Unities + Antwort hilfreich

(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



Sehen Sie sich das Profil von holgerka75 an!   Senden Sie eine Private Message an holgerka75  Schreiben Sie einen Gästebucheintrag für holgerka75

Beiträge: 15
Registriert: 19.03.2004

erstellt am: 23. Mrz. 2004 09:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Cadmium,

ich brauche eine dritte Variable? Ist es denn nicht möglich, das a direkt in das setq von b einzubinden? Also zwischen "hallo" und "wie gehts"?

Gruß
Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 23. Mrz. 2004 09:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerka75 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von holgerka75 an!   Senden Sie eine Private Message an holgerka75  Schreiben Sie einen Gästebucheintrag für holgerka75

Beiträge: 15
Registriert: 19.03.2004

erstellt am: 23. Mrz. 2004 09:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mrz. 2004 10:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerka75 10 Unities + Antwort hilfreich

probier mal

(strcat "Es wurde ein Fehler entdeckt! Bitte bei Koordinate "
(vl-princ-to-string Kanalkoo) " überprüfen")

------------------
- Thomas -

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

holgerka75
Mitglied



Sehen Sie sich das Profil von holgerka75 an!   Senden Sie eine Private Message an holgerka75  Schreiben Sie einen Gästebucheintrag für holgerka75

Beiträge: 15
Registriert: 19.03.2004

erstellt am: 23. Mrz. 2004 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mrz. 2004 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerka75 10 Unities + Antwort hilfreich

vl ... ist Visual-Lisp .. mach mal in den im ACAD integrierten Lisp-Editor auf .. und dann die Hilfe-> Befehlsreferenz ....

------------------
- Thomas -

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 23. Mrz. 2004 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerka75 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz