22 Stimmen

Delphi/Lazarus: Programmordner bzw. Pfad der eigenen Anwendung ermitteln

Frage von Compi | Letztes Update am 01.07.2021 | Erstellt am 05.02.2016

Ich würde gerne den Ordner herausbekommen, in dem die Programmdatei beziehungsweise die EXE-Datei meines Programms liegt. Also das Verzeichnis, von dem aus das Programm gestartet wurde und in dem entsprechend die EXE liegt.

Gibt es dafür irgendeine Funktion?

AntwortenPositivNegativDatumStimmen
5Beste Antwort7 Stimmen

Das ist relativ einfach. Sowohl in Paramstr(0) als auch in Application.ExeName ist der vollständige Pfad zu deiner Programmdatei gespeichert.

Um nur den Ordner zu erhalten, musst du also lediglich den Ordner beziehungsweise Pfad aus Paramstr(0) oder Application.ExeName extrahieren.

var
  ProgOrdner: string;
begin
  ProgOrdner := ExtractFilePath(Application.ExeName);

  // oder

  ProgOrdner := ExtractFilePath(Paramstr(0));
end;

Wie du siehst, geht das mit der Funktion ExtractFilePath(). Diese Funktion schneidet in diesem Fall die Programmdatei vom Pfad ab und liefert dir entsprechend den gewünschten Pfad zu deiner EXE.
Letztes Update am 01.07.2021 | Erstellt am 05.02.2016

AntwortenPositiv Negativ
00 Stimmen

Das stimmt leider so nicht.

Lazarus Programme liefern in der Regel den Pfad in dem sie kompiliert wurden zurück :-((

Ich habe noch nicht rausgefunden wie ich das unterdrücken kann
08.12.2022 um 15:11

Positiv Negativ
00 Stimmen

Die Erfahrung habe ich noch nicht gemacht. Auf welchem System bist du denn unterwegs?

Unter Windows habe ich mit diesem Code bisher immer (oft auf verschiedenen Rechnern getestet) den Pfad in dem die EXE liegt erhalten.

Steht übrigens so auch in der offiziellen Dokumentation.
08.12.2022 um 15:30

Positiv Negativ
Antworten
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.