![]() |
Programm innerhalb der Umgebungsvariablen ???
Hallo zusammen,
in meinem Programm soll der Anwender über einen Button ausführbare Programme seiner Wahl hinzufügen können. Ich möchte aber unterscheiden, ob das ausgewählte Programm die komplette Pfadangabe benötigt, oder ob es sich direkt starten lässt. Dazu muss ich wissen, ob, bzw. wie man das feststellen kann. Also etwa in der Art:
Delphi-Quellcode:
Kennt jemand von Euch vielleicht eine Möglichkeit ????
if meinProgramm %Umgebungusvariable% = True then......
Danke und mit freundlichen Grüßen guitarre |
Re: Programm innerhalb der Umgebungsvariablen ???
Zitat:
|
Re: Programm innerhalb der Umgebungsvariablen ???
@DeddyH,
der Benutzer wählt sein Programm über einen Button aus, der ihn dann per "Explorer" zu seinem Programm in einem bestimmten Pfad führt. Weiterhin werden diese Daten in einer Konfigurationsdataei gespeichert. Da sich Programme innerhalb der Umgebungsvariablen direkt starten lassen, könnte ich mir in diesem Fall das Speichern Der Pfadangaben sparen. Gruß guitarre |
Re: Programm innerhalb der Umgebungsvariablen ???
Hallo,
mal schnell dahergeschrieben:
Delphi-Quellcode:
procedure GetDirsInPathVariable(sList: TStrings);
var s: string; begin (*Achtung: die Umgebungsvariable Path kann auch länger werden als MAX_PATH, man muss sich daher über eine vernünftige Puffergröße Gedanken machen*) SetLength(s,MAX_PATH); GetEnvironmentVariable('path',PChar(s),Length(s) - 1); SetLength(s,StrLen(PChar(s))); while Pos(';',s) > 0 do begin sList.Add(Copy(s,1,Pos(';',s) - 1)); Delete(s,1,Pos(';',s)); end; if Length(s) > 0 then sList.Add(s); end; procedure TForm1.Button1Click(Sender: TObject); begin GetDirsInPathVariable(ListBox1.Items); end; |
Re: Programm innerhalb der Umgebungsvariablen ???
@DeddyH,
sorry, dass ich mich jetz erst melde, war ein paar Tage im Krankenhaus. Danke für Deinen Lösungsvorschlag, aber wenn ich das Programm starte wird mir in der ListBox immer nur die comctl32.dll angezeigt ???? Aber Du hast mich auf eine Lösungsmöglichkeit gebracht. Ich habe die Zeile
Delphi-Quellcode:
durch
GetEnvironmentVariable('Path',PChar(s),Lenght(s)-1);
Delphi-Quellcode:
ersetzt.
s := GetEnvironmentVariable('Path');
Wobei mir aber nicht klar ist, warum Dein Vorschlag nicht funktioniert. Danke guitarre |
Re: Programm innerhalb der Umgebungsvariablen ???
Hallo, ich habe gar nicht gewusst, dass es in der Unit SysUtils auch die Funktion GetEnvironmentVariable gibt. Die von mir verwendete steht in der Unit Windows, man hätte also einfach nur Windows.GetEnvironmentVariable schreiben müssen. Aber wenn es jetzt geht, ist es ja gut. :cheers:
|
Re: Programm innerhalb der Umgebungsvariablen ???
Hallo, das wusste ich vorher auch nicht, Danke nochmal
guitarre |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz