Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi relativen dateipfad (https://www.delphipraxis.net/45526-relativen-dateipfad.html)

zecke 7. Mai 2005 21:18


relativen dateipfad
 
:hi:

ich möchte ein anderes programm über mein eigenes starten. Ich verwende den befehl ShellApi (ja habe es auch eingebunden), aber ich will die andere -exe relativ zu meiner exe starten.

besser:

in einem ordner befindet sich eine exe und 5 unterordner, in jedem ordner eine weitere exe. ich möchte über die eine "übergeordnete" exe öffnen und über diese die untergeordneten starten, wobei es wichtig ist, dass der installationspfad egal ist. sprich es kann dieses szenario im ordner "C:\blubba\..." sein oder auch in "C:\socke\...". wie setze ich das um, jmd eine lösung?

hier ein kotschnipsel:

Code:
begin

   ShellExecute(Handle, nil, 'prozent.exe', nil, nil, SW_SHOW);
   Application.Terminate;

end;
danke für jeden tipp

Meflin 7. Mai 2005 21:23

Re: relativen dateipfad
 
ganz einfach :)
1. du ermittelst den absoluten pfad deiner main-exe
2. du hackst den exenamen vom pfad ab
3. du setzt den relativen an den absoluten pfad hin
4. ende

zu 1. und 2.: das geht mit
Delphi-Quellcode:
Application.ExeName
genauergesagt dann
Delphi-Quellcode:
ExtractFilePath(Application.ExeName)

zecke 7. Mai 2005 21:28

Re: relativen dateipfad
 
ehm merci :)

nur wie soll ich den letzten teil davon bekommen? habe nie großartig was mit strings gemacht :/

kannst du mir sogar ein beispiel zeigen :) das wäre was ganz feines

Meflin 7. Mai 2005 21:29

Re: relativen dateipfad
 
Zitat:

Zitat von zecke
ehm merci :)

nur wie soll ich den letzten teil davon bekommen? habe nie großartig was mit strings gemacht :/

kannst du mir sogar ein beispiel zeigen :) das wäre was ganz feines

die beschreibung war allgemein, du musst das nicht selber machen
Delphi-Quellcode:
ExtractFilePath(Application.ExeName)
ist der Pfad zu deiner Exe, allerdings ohne den ExeNamen, dafür mit trailing backslah


zecke 7. Mai 2005 21:31

Re: relativen dateipfad
 
:oops: :D ok ich danke dir sehr ^^



ehm habe ich etwas falsch gemacht:
Delphi-Quellcode:
Dateipfad:=ExtractFilePath(Application.ExeName);
ShellExecute(Handle, nil, 'Dateipfad\prozent\prozent.exe', nil, nil, SW_SHOW);

Wuaegner 7. Mai 2005 21:39

Re: relativen dateipfad
 
Delphi-Quellcode:
Dateipfad:= ExtractFilePath(Application.ExeName)+ '\prozent\prozent.exe';
ShellExecute(Handle, nil, Dateipfad, nil, nil, SW_SHOW);

idontwantaname 7. Mai 2005 21:40

Re: relativen dateipfad
 
edit: sollte der mir nicht mitteilen, wenn inzwischen posts gemacht worden sind ?? :gruebel:

Meflin 7. Mai 2005 21:42

Re: relativen dateipfad
 
alternativ kannst du den exepfad übrigens auch noch mit
Delphi-Quellcode:
ParamStr(0)
bzw dann ohne exenamen mit
Delphi-Quellcode:
ExtractFilePath(ParamStr(0))
herausfinden, fyi


Die Muhkuh 7. Mai 2005 21:43

Re: relativen dateipfad
 
Zitat:

Zitat von Meflin
Delphi-Quellcode:
ExtractFilePath(ParamCount(0)

Da fehlt ne Klammer ;)

zecke 7. Mai 2005 21:48

Re: relativen dateipfad
 
verdammt ist mir das jetzt peinlich :D

danke für den kleinen tritt aufs hirn :)

nur als was muss ich dann Dateipfad deklinieren? string nicht (PAnsiChar wie?)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.
Seite 1 von 2  1 2      

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