| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: aus String Programmaufruf erstellen (838 mal gelesen)
|
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
  
 Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 Manchmal AC 2011
|
erstellt am: 02. Mai. 2008 17:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe ein recht umfangreiches LISP-Programm, in dem ich über eine Text-(Datenbank-)Datei einen Text eingeben kann, mit dem ein gleichnamiges Programm gestartet werden kann. Beispiel: Aus DB-Datei lese ist den Text 'XY' heraus (setq Dateiname (read-line ...)). (setq dateinamen (strcat Dateiname ".LSP")) Mit der Funktion (load dateiname) rufe ich das Programm auf. Aus dem aufegrufenen Programm wird dasselbe gestartet. Nun beabsichtige ich mein Hauptprogramm so zu ändern, das ich nicht jedesmal das Unterprogramm laden muss um es aufzurufen. Versucht habe ich (read Dateiname), damit die Anführungszeichen verschwinden. Das schein aber nicht zu reichen. Kann mir irgendwie geholfen werden? Ich meine soetwas schon mal gelesen zu haben, finde es aber auf die schnelle nicht!
------------------ strukturiertes Zeichnen mit Werner-Maahs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 02. Mai. 2008 18:11 <-- editieren / zitieren --> Unities abgeben:          Nur für Werner-Maahs.de
Irgendwie kapier ich nicht was du willst... sowas : (eval (read (strcat "(" FUNKTIONSNAME ")"))) ------------------ - 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 |
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
  
 Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 Manchmal AC 2011
|
erstellt am: 02. Mai. 2008 20:01 <-- editieren / zitieren --> Unities abgeben:         
anders ausgedrückt: Ich erhalte einen String, zB. "Kreis_25" und eine Funktion mit dem Namen 'Kreis_25'. Mein Programm soll nun den String so umwandeln, dass damit die Funktion 'Kreis_25' gestartet wird. (eval (read "Kreis_25")) ruft die Funktion 'Kreis_25' nicht auf! ------------------ strukturiertes Zeichnen mit Werner-Maahs Als Ergänzung: Bisher habe ich es so gemacht: Code: ... (setq FName (read-line ...)) => "Kreis_25" (load (strcat FName ".LSP")) ...
In der Datei Kreis.lsp stand Code: (defun Kreis_25 () (...) ) ; end defun (Kreis_25) ; Funtionsaufruf
Da diese Funktion häufiger vorkommt wird sie jedesmal geladen! Mein bestreben ist es nun die Datei 'Kreis_25.lsp' einmal zu laden und den Funktionsaufruf im Hauptprogramm auszuführen. Da habe ich aber bisher nicht hinbekommen![Diese Nachricht wurde von Werner-Maahs.de am 02. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 02. Mai. 2008 20:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Werner-Maahs.de
|
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
  
 Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 Manchmal AC 2011
|
erstellt am: 02. Mai. 2008 21:34 <-- editieren / zitieren --> Unities abgeben:         
|

| |
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
  
 Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 Manchmal AC 2011
|
erstellt am: 02. Mai. 2008 22:05 <-- editieren / zitieren --> Unities abgeben:         
|