Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Pfad der Lisp zur Laufzeit?

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
Autor Thema:   Pfad der Lisp zur Laufzeit? (736 mal gelesen)
WolfgangE
Mitglied



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

Beiträge: 1006
Registriert: 29.01.2003

Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung.
Programmierung, Wartung und Administration von MSSQL2000-Datenbanken.
Grundlegende Kenntnisse in AutoLisp-Programmierung.

erstellt am: 01. Sep. 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

Hallo Lisp-Gemeinde,

gesucht hab' ich, gefunden leider nicht, vielleicht kann mir da jemand weiter helfen.

Ich habe ein Lisp-Programm, welches unter anderem eine Textdatei einlesen soll. Diese Textdatei befindet sich im selben Verzeichnis wie die Lisp-Datei selbst.
Kann ich nun irgendwie innerhalb der Lisp ermitteln, in welchem Verzeichnis sie sich befindet (und damit auch die Textdatei)? Wie sieht das ganze dann aus, wenn ich die LSP in eine FAS kompiliere?

Was ich schlussendlich haben möchte, ist einfach folgendes: ich erstelle eine FAS und möchte diese einfach in irgendein Verzeichnis kopieren, zusammen mit der TXT. Diese TXT soll dann eben immer gefunden werden.

Danke und ciao,
WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1911
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 01. Sep. 2004 10:24    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 WolfgangE 10 Unities + Antwort hilfreich

Hai
so einfach ist das nur per doslib möglich.
wenn es allerdings ein Lisp/vlx ist, was in der Startgruppe abgelegt ist, so kann es per vl ausgelesen werden.
Als Alternative kannst du aber auch einfach eine Subfunktion deffinierne - in deinem Lisp, die dann gleich einen Reg-key schreibt a la: wo bin ich.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

WolfgangE
Mitglied



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

Beiträge: 1006
Registriert: 29.01.2003

Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung.
Programmierung, Wartung und Administration von MSSQL2000-Datenbanken.
Grundlegende Kenntnisse in AutoLisp-Programmierung.

erstellt am: 01. Sep. 2004 11:00    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

Puuuhhhh! So kompliziert ...

Na, ich werden mal schauen, ob ich das Ding irgendwie noch als Variable oder Parameter reinbring, den man dann halt 1x angeben muss.
Danke für die Info.

Ciao,
WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

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

Schachinger
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2021
Registriert: 08.04.2002

erstellt am: 01. Sep. 2004 11:26    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 WolfgangE 10 Unities + Antwort hilfreich

ich hab sowas bis jetzt immer mit simpelsten mitteln gelöst.

beim ausführen des gefehls der die txt-datei braucht wird zuerst direkt auf c: nach einer pfad-datei gesucht (z.b. "anwendung-path.set"). existiert diese datei noch nicht wird der user augefordert den pfad für die gewünschte text-datei anzugeben. dieser pfad wird in die "anwendung-path.set" geschrieben und beim nächsten aufruf braucht man den pfad nicht mehr angeben.

die datei ist mit dem editor editierbar oder über eine option bei ausführen des befehls aus dem autocad (wenn man die zu suchende text-datei z.b. verschiebt oder ähnliches).

ich weis - ist nicht sehr elegant, aber das wir die lösung die ich mir mit meinem begrenzten lisp-wissen zurecht gelegt habe und ist mit dein einfachen "open, read-line, write-line" etc. zu verwirklichen. 

------------------
mfg Siegfried Schachinger
http://www.tbschatz.at

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: 13435
Registriert: 30.11.2003

.

erstellt am: 01. Sep. 2004 14:10    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 WolfgangE 10 Unities + Antwort hilfreich

Vielleicht noch ne Idee:

(setq *ORGLOAD* LOAD)
(defun load ( NAME )
  (if(=(type NAME) 'STR)
    (progn
      (if (setq NAME(findfile NAME))
        (setq *LISPPATHS* (cons
                            (cons(strcat(cadr(fnsplitl NAME))(caddr(fnsplitl NAME)))
                                (car(fnsplitl NAME))
                            )
                            *LISPPATHS*
                          )
        )                               
      )
      (*ORGLOAD* NAME nil)
    ) 
  )     
)

in die acaddoc.lsp integrieren.
Anschließend hast du dann die Pfade der geladenen Lisp in der Variable *LISPPATHS*. Mit assoc usw. solltest du die dann auslesen können!

Das Original "Load" kriegst du mit (setq Load *ORGLOAD*) zurück

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

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

WolfgangE
Mitglied



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

Beiträge: 1006
Registriert: 29.01.2003

Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung.
Programmierung, Wartung und Administration von MSSQL2000-Datenbanken.
Grundlegende Kenntnisse in AutoLisp-Programmierung.

erstellt am: 01. Sep. 2004 15:09    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 Thomas,

danke erst mal, werd ich mal versuchen, auch wenn ich den Code nicht so ganz verstehe (mach nicht viel mit Lisp).

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

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)2020 CAD.de | Impressum | Datenschutz