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 Position der Exe bestimmen (https://www.delphipraxis.net/19364-position-der-exe-bestimmen.html)

gordon freeman 1. Apr 2004 20:14


Position der Exe bestimmen
 
Hi Leute,
ich hab eine Exe-Datei in einem beliebigen Ordner. In diesem Ordner befindet sich auch ein anderer Ordner mit der Bezeichnung 'Texte'. Nun soll die Exe auf die Dateien im Ordner 'Texte' zugreifen können. Wie finde ich aber raus, wo sich die Exe momentan befindet, damit der User das Prog überall abspeichern kann, ohne das Fehler auftreten wie '
Zitat:

Datei ?!%=) konnten nicht geöffnet werden!'
Ich weiss, das es da einen Befehl gibt, er fällt mir nur nicht ein... :wall:
Vieleicht liegt es daran: :drunken:

Danke für die Hilfe! cu

Matze 1. Apr 2004 20:16

Re: Position der Exe bestimmen
 
Delphi-Quellcode:
Pfad := ExtractFilePath(paramstr(0));
Pfad ist ein string.

fkerber 1. Apr 2004 20:16

Re: Position der Exe bestimmen
 
Hi!

Delphi-Quellcode:
Extractfilepath(Application.Exename);
Ciao fkerber

braingrenade 1. Apr 2004 20:18

Re: Position der Exe bestimmen
 
Moin !

Delphi-Quellcode:
var s : string;
begin
s := extractfilepath(application.exename);
end;
So ausm Kopf heraus.(Weiß nicht ob's genau so funktioniert)

himitsu 1. Apr 2004 20:20

Re: Position der Exe bestimmen
 
Delphi-Quellcode:
Verzeichnis := ExtractFilePath(Application.ExeName);
{oder}
Verzeichnis := ExtractFilePath(ParamStr(0));
oder du arbeitest mit Relativen Pfaden

"Texte\Datein.ame"
"C:\Verzeichnis\Anwendung.exe" >> "C:\Verzeichnis\Texte\Datein.ame"

"..\Texte\Datein.ame"
"C:\Verzeichnis\Anwendung.exe" >> "C:\Texte\Datein.ame"

...

gordon freeman 2. Apr 2004 10:56

Re: Position der Exe bestimmen
 
Danke! Bin doch echt nicht drauf gekommen!
:thuimb: :thuimb: :thuimb: :thuimb: :thuimb: :thuimb: :thuimb:

Luckie 2. Apr 2004 13:58

Re: Position der Exe bestimmen
 
Zitat:

Zitat von himitsu
oder du arbeitest mit Relativen Pfaden

Argh blos das nicht. Relative Pfade beziehen sich immer auf das aktuelle Verzeichnis. Einmal eine datei aus einem anderen Verzeichnis mit einem Dateiöffnen-Dialog geöffnet und das war es dann. So loangsam sollte man das aber verstanden haben, das predige ich doch in so einem Fall jedesmal. :warn:

himitsu 2. Apr 2004 17:48

Re: Position der Exe bestimmen
 
Das ersparrt aber viel arbeit, da man dann keine Pfade mehr berechnen brauch.

Zum anderen Kann es manschmal auch vorteile haben.

Aber wenn's dennoch vom Programmverzeichnis ausgehn soll, dann behebt man das mit einer ganz kleinen Zeile, nach welcher man ganz einfach mit relativen Phafen weiterarbeiten kann :zwinker:
Code:
Program Project1;

Uses [color=red]SysUtils, [/color]Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

Begin
  [color=red]SetCurrentDir(ExtractFileDir(ParamStr(0)));[/color]
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
End.

Luckie 2. Apr 2004 18:11

Re: Position der Exe bestimmen
 
Zitat:

Zitat von himitsu
Das ersparrt aber viel arbeit, da man dann keine Pfade mehr berechnen brauch.

Ja, aber die Arbeit kommt dann, wenn der Kunde dir sagt, dass dein Programm seine eigenen Dateien nicht findet.
Zitat:

Zum anderen Kann es manschmal auch vorteile haben.
Ich wüßte jetzt nicht aus welchen Gründen man Roulette mit den Pfaden spielen sollte. :roll:

Zitat:

Aber wenn's dennoch vom Programmverzeichnis ausgehn soll, dann behebt man das mit einer ganz kleinen Zeile, nach welcher man ganz einfach mit relativen Phafen weiterarbeiten kann :zwinker:
Code:
Program Project1;

Uses [color=red]SysUtils, [/color]Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

Begin
  [color=red]SetCurrentDir(ExtractFileDir(ParamStr(0)));[/color]
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
End.

[/quote]
Du hast nicht ganz gelesen, was ich geschrieben habe oder? Bitte noch mal lesen, besonders die Stelle mit dem Dateiöffnen Dialog.

himitsu 2. Apr 2004 20:07

Re: Position der Exe bestimmen
 
Ach, das kommt davon, wenn man diese Öffnen-/Speicherndialoge nicht verwenden :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.
Seite 1 von 2  1 2      

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