Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  getenv

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:  getenv (1814 mal gelesen)
Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 19. Mai. 2004 13:08    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,

ich habe ein Problem mit der Lisp-Funktion getenv in Verbindung mit der Umgebungsvariable ACAD.
Ich führe zunächst den AutoCAD-Befehl Optionen aus und trage bei "Suchpfad für Supportdatei" folgende Verzeichnisse ein:
C:\Programme\AutoCAD 2002 Deu\drv
C:\Programme\AutoCAD 2002 Deu\support
C:\Programme\AutoCAD 2002 Deu\fonts
C:\Programme\AutoCAD 2002 Deu\help
C:\Programme\CAOS\CATS-Pro 3
W:\Anwendung
W:\Block
W:\Dcl
W:\Funktionen
W:\Funktionen_laden
W:\Funktionen_anreiss
W:\Funktionen_batch
W:\Hilfe
W:\Menue
W:\Listen
W:\Vorlage
W:\Schriften
N:\Zeichnungserstellung\Acadwe_Server_Dateien
N:\Zeichnungserstellung\Knotennr
N:\Zeichnungserstellung\Piktos
N:\Zeichnungserstellung\StVO-VZ
N:\Zeichnungserstellung\DB-Pikto
N:\Zeichnungserstellung\Media-Park
N:\Zeichnungserstellung\Mimaki-Drucker
N:\Zeichnungserstellung\Schriftz
Dann wähle ich Anwenden und OK zum Beenden des Befehls Optionen. Bis hierhin ist alles in Ordnung (geprüft durch nochmaligem Ausführen des Befehls).

Beim Aufruf von (getenv "ACAD") in der Befehlszeile erhalte ich folgendes Ergebnis:
"C:\\Programme\\AutoCAD 2002 Deu\\drv;C:\\Programme\\AutoCAD 2002
Deu\\support;C:\\Programme\\AutoCAD 2002 Deu\\fonts;C:\\Programme\\AutoCAD 2002
Deu\\help;C:\\Programme\\CAOS\\CATS-Pro
3;W:\\Anwendung;W:\\Block;W:\\Dcl;W:\\Funktionen;W:\\Funktionen_laden;W:\\Funkti
onen_anreiss;W:\\Funktionen_batch;W:\\Hilfe;W:\\Menue;W:\\Listen;W:\\Vorlage;W:\
\Schriften;N:\\Zeichnungserstellung\\Acadwe_Server_Dateien;N:\\Zeichnungserstell
ung\\Knotennr;N:\\Zeichnungserstellung\\Piktos;N:\\Zeichnungserstellung\\StVO-VZ
;N:\\Zeichnungserstellung\\DB-Pikto;N:\\Zeich\000\000\000\000serstellung\\Media-
Park;N:\\Zeichnungserstellung\\Mimaki-Drucker;N:\\Zeichnungserstellung\\Schriftz"

Wieso sind im o.g. Ergebnis der Funktion getenv die Zeichen "\000" enthalten?
Wie kann ich das Problem lösen?

Danke im Voraus und viele Grüße
Bernd

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: 19. Mai. 2004 13:30    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 Bernd10 10 Unities + Antwort hilfreich

und was liefert dir ...
(vl-load-com)
(vla-get-supportpath(vla-get-files(vla-get-preferences(vlax-get-acad-object))))

... ?

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

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 19. Mai. 2004 13:30    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 Bernd10 10 Unities + Antwort hilfreich

Sind Sonderzeichen, Leerzeichen ... sonstige "Abarten" unter Windows bei Verzeichnissbenennung ?

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

Jan1
Mitglied
CAD Consultant


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

Beiträge: 17
Registriert: 12.05.2004

erstellt am: 19. Mai. 2004 13:41    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 Bernd10 10 Unities + Antwort hilfreich

Hi Bernd,

das Problem ist bekannt, sollte aber eigentlich in ACAD 2002 nicht mehr existieren. Es liegt daran, dass die Anzahl der Zeichen nicht größer als 512 sein darf. Scheinbar wird hier ein Variablentyp, bzw. ein Array o.ä. verwendet, dass nur max. 512 Zeichen zuläßt.

Gibt doch mal folgendes ein:

(substr
"C:\\Programme\\AutoCAD 2002 Deu\\drv
C:\\Programme\\AutoCAD 2002 Deu\\support
C:\\Programme\\AutoCAD 2002 Deu\\fonts
C:\\Programme\\AutoCAD 2002 Deu\\help
C:\\Programme\\CAOS\\CATS-Pro 3
W:\\Anwendung
W:\\Block
W:\\Dcl
W:\\Funktionen
W:\\Funktionen_laden
W:\\Funktionen_anreiss
W:\\Funktionen_batch
W:\\Hilfe
W:\\Menue
W:\\Listen
W:\\Vorlage
W:\\Schriften
N:\\Zeichnungserstellung\\Acadwe_Server_Dateien
N:\\Zeichnungserstellung\\Knotennr
N:\\Zeichnungserstellung\\Piktos
N:\\Zeichnungserstellung\\StVO-VZ
N:\\Zeichnungserstellung\\DB-Pikto
N:\\Zeichnungserstellung\\Media-Park
N:\\Zeichnungserstellung\\Mimaki-Drucker
N:\\Zeichnungserstellung\\Schriftz" 1 512)

Ergebnis: ...N:\\Zeichnungserstellung\\DB-Pikto\nN:\\Zeich"

Und ab dem nachfolgenden Zeichen erhälst Du dann die Werte aus dem (wahrscheinlich) nicht dafür vorgesehenen Speicherbereich.

Da kann man wohl nix machen. Es sei denn ...
Ich mache es meist so, dass ich pro Anwendung den Ordner, in dem die Programmdateien liegen in der Registry eintrage und mir dann aus diesem Eintrag die Dateien zusammensuche, die gerade benötige werden.

(findfile (strcat (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\MyApp" "Directory") "\\SubFolder\\file.xy"))

Gruß, Jan

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 19. Mai. 2004 14:47    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:
Genial, funktioniert wie von mir gewünscht. Doch wo ist z.B. die Funktion vla-get-supportpath dokumentiert? Ich finde weder in der Benutzer- noch in der Entwickler-Hilfe etwas.
Auf jeden Fall 10 Us für Dich.

@Proxy:
Leerzeicen sind schon enthalten, aber die habe ich bisher nicht als "Abarten" gewertet, da ein zusätzliches "-Zeichen am Anfang und Ende eines Verzeichnises in der Regel Probleme gelöst hat.

@Jan:
Eine max. Länge hatte ich zunächst auch im Verdacht. Aber laut Autodesk (http://usa.autodesk.com/adsk/servlet/ps/item?siteID=123112&id=2884947&linkID=2475323) soll die Genze bei 800 Zeichen liegen, meine Länge beträgt aber nur ca. 600 Zeichen.

Danke an alle und viele Grüße
Bernd

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: 19. Mai. 2004 15:04    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 Bernd10 10 Unities + Antwort hilfreich

Betreffs Doku : in der Hilfe! 
..mach mal den Autolisp-Editor auf.. dann F1 ... und dann unter ActivX suchen....

.. die vla-get-xxx sind eigentlich Abkürzungen für vlax-get-property...

------------------
- 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: 19. Mai. 2004 15: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 Bernd10 10 Unities + Antwort hilfreich

Hallo Bernd

gib mal im VLISP-Editor vla-get ein und drücke dann [Shift]+[Strg]+[Leer].
Damit werden dann im Apropos-Fenster alle zur Verfügung stehenden Befehle gezeigt. Das funktioniert mit allen Befehl-sanfängen)

Für die Anwendung dieser Funktionen ist es ratsam die VBA-Hilfe zu nutzen.
Ich selber nutze nur die VBA-Hilfe und die (vlax-invoke-method ..), (vlax-get-property ..) und (vlax-put-property ..) Funktionen. Mehr braucht man nicht. Die vla(x)-irgendwas- Funktionen sind vom Prinzip her vorgefertigte Funktionen, die auf diese oben genannten Funktionen zugreifen.
Aber auch hier gilt: Ausnahmen bstätigen die Regel, denn z.B. die vlax-curve- Funktionalitäten sucht man in VBA vergebens.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich!

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 19. Mai. 2004 16:02    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


ActivX.jpg

 
Hallo,

@CADmium:

Zitat:
Original erstellt von CADmium:
Betreffs Doku : in der Hilfe!  
..mach mal den Autolisp-Editor auf.. dann F1 ... und dann unter ActivX suchen....


Ich glaube für die Nutzung der Hilfe bin ich zu doof. Ich finde kein Thema zu ActivX (siehe Anlage).

@Holger:

Zitat:
Original erstellt von Brischke:
gib mal im VLISP-Editor vla-get ein und drücke dann [Shift]+[Strg]+[Leer].
Damit werden dann im Apropos-Fenster alle zur Verfügung stehenden Befehle gezeigt. Das funktioniert mit allen Befehl-sanfängen)

Für die Anwendung dieser Funktionen ist es ratsam die VBA-Hilfe zu nutzen.
Ich selber nutze nur die VBA-Hilfe und die (vlax-invoke-method ..), (vlax-get-property ..) und (vlax-put-property ..) Funktionen. Mehr braucht man nicht. Die vla(x)-irgendwas- Funktionen sind vom Prinzip her vorgefertigte Funktionen, die auf diese oben genannten Funktionen zugreifen.
Aber auch hier gilt: Ausnahmen bstätigen die Regel, denn z.B. die vlax-curve- Funktionalitäten sucht man in VBA vergebens.


Die Liste der zur Verfügung stehenden Befehle im Apropos-Fenster bekomme ich noch angezeigt, aber den Rest verstehe ich nicht mehr. Wo z.B. finde ich die VBA-Hilfe?

Entschuldigt, wenn ich etwas auf der Leitung sitze.

Totzdem schönes Wochenende und viel Grüße
Bernd

PS: Bin erst wieder am Montag da, verlängertes Wochende

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Mai. 2004 16: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 Nur für Bernd10 10 Unities + Antwort hilfreich

activeX ...

------------------
- Sebastian -

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: 19. Mai. 2004 17:48    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 Bernd10 10 Unities + Antwort hilfreich

@Bernd,

Geh mal in die Hilfe, und schau dir dort unter Active X(war vorhin nicht korrekt von mir) das Object Model an. Durch Anklicken der einzelnen Objekte werden die Eigenschaften, Methoden und Events des Objektes gezeigt. Auf die Methoden greifst du dann mit (vlax-invoke-method ..) auf die Eigenschaften mit (vlax-get/put-property ..) Mehr ist es nicht. (grundsätzlich meine ich)

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich!

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 24. Mai. 2004 12:01    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 cadffm, Hallo Brischke,

mit eurer Hilfe finde ich nun zumindest mal die Informationen. Ich muss mich aber erst etwas durchwühlen.

Danke und viele Grüße
Bernd

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