CommandLine bei Borland?

Andrej Dyck

Mitglied
Hallo,

Bei Visual Studio kann ich mit Environment::CommandLine herausfinden, "wie" das Programm gestartet worden ist. Also:
wenn ich das Program TestProjekt.exe im "Programme" Ordner starte bekomme ich ein String mit "C:\Programme\TestProjekt.exe".
Diesen benutze ich dann um das Arbeitsverzeichnis festzulegen.

Wie kann ich das bei Borland herausfinden? Der WinMain werden ja auch Parameter übergeben, aber der Parameter des Typs LPSTR ist komischerweise leer.

Ich hoffe ihr könnt mir helfen.

Gruß Andrej
 
Hi.

Im lpCmdLine Parameter der WinMain Funktion stehen nur die Parameter des Programms ohne den Programmnamen selbst drin. Die komplette Kommandozeile kannst du mit der Funktion GetCommandLine() erhalten.

Wenn du nur den Namen und Pfad des Programms brauchst, dann kannst du das mit
C:
GetModuleFilename(NULL);
ermitteln. Dann einfach alles nach dem letzten Slash oder Backslash abschneiden und du hast das Verzeichnis in dem das Programm liegt.

Gruß
 
Hallo

Vielleicht hilft dir die Funktion weiter...

Code:
GetCurrentDir();

deinen Dateiname kannst du ja dann noch "dranbauen"...

MfG Turri
 
Also ich wollte den CurrentDir setzen, damit ich immer im richtigen Arbeitsverzeichnis bin. Um z.B. aus Dateien zu lesen, die eine relative Pfadangabe haben (z.B. ".\text.txt" oder "\ordner\text.txt").

Ich hab eine lösung gefunden.
Code:
SetCurrentDir(ExtractFilePath(Application->ExeName));

Gruß Andrej
 
Zurück