AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm innerhalb der Umgebungsvariablen ???

Ein Thema von guitarre · begonnen am 25. Mai 2007 · letzter Beitrag vom 3. Jun 2007
Antwort Antwort
guitarre

Registriert seit: 21. Aug 2006
16 Beiträge
 
Delphi 2005 Personal
 
#1

Programm innerhalb der Umgebungsvariablen ???

  Alt 25. Mai 2007, 16:40
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:
if meinProgramm %Umgebungusvariable% = True then...... Kennt jemand von Euch vielleicht eine Möglichkeit ????
Danke und mit freundlichen Grüßen
guitarre
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Programm innerhalb der Umgebungsvariablen ???

  Alt 25. Mai 2007, 17:00
Zitat:
Ich möchte aber unterscheiden, ob das ausgewählte Programm die komplette Pfadangabe benötigt,
oder ob es sich direkt starten lässt.
Wozu soll das gut sein? Außerdem kann das Programm, das sich im Suchpfad befindet, ein ganz anderes sein als jenes, das der Benutzer auswählt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
guitarre

Registriert seit: 21. Aug 2006
16 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Programm innerhalb der Umgebungsvariablen ???

  Alt 25. Mai 2007, 17:14
@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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Programm innerhalb der Umgebungsvariablen ???

  Alt 25. Mai 2007, 17:36
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
guitarre

Registriert seit: 21. Aug 2006
16 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Programm innerhalb der Umgebungsvariablen ???

  Alt 3. Jun 2007, 11:25
@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
GetEnvironmentVariable('Path',PChar(s),Lenght(s)-1); durch
s := GetEnvironmentVariable('Path'); ersetzt.
Wobei mir aber nicht klar ist, warum Dein Vorschlag nicht funktioniert.

Danke guitarre
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Programm innerhalb der Umgebungsvariablen ???

  Alt 3. Jun 2007, 11:29
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
guitarre

Registriert seit: 21. Aug 2006
16 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Programm innerhalb der Umgebungsvariablen ???

  Alt 3. Jun 2007, 11:34
Hallo, das wusste ich vorher auch nicht, Danke nochmal
guitarre
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz