OK, dann halt ganz einfach:
Delphi-Quellcode:
begin
WriteLn('Input: "C:"');
WriteLn('SysUtils.ExpandFileName : ', SysUtils.ExpandFileName('C:'));
WriteLn('WideString ExpandFileName: ', ExpandFileName('C:'));
WriteLn('AnsiString ExpandFileName: ', ExpandFileNameA('C:'));
WriteLn('Fixed Buffer Size ExpandFileName: ', ExpandFileName3('C:'));
WriteLn;
WriteLn('SetCurrentDirectory to "C:\Programme\"');
SetCurrentDirectory('C:\Programme\');
WriteLn;
WriteLn('Input: "C:"');
WriteLn('SysUtils.ExpandFileName : ', SysUtils.ExpandFileName('C:'));
WriteLn('WideString ExpandFileName: ', ExpandFileName('C:'));
WriteLn('AnsiString ExpandFileName: ', ExpandFileNameA('C:'));
WriteLn('Fixed Buffer Size ExpandFileName: ', ExpandFileName3('C:'));
ReadLn;
end.
[edit]
ach mensch, wo kommt denn das alles jetzt her o.O
nja, wie gesagt, das ist schon seit DOS-Zeiten so, aber warum es nicht dokumentiert ist ... k.A. ... sowas hat man wohl einfach zu wissen.
PS: "C:" ist sozusagen ein relativer Pfadbezeichner ... hier allerdings auf das Laufwerk bezogen und du weißt ja bestimmt selber, wie vorsichtig man mit relativen Pfaden in seinem Programm sein soll.
PSS: der OpenDialog ändert auch öfters mal das aktuelle Verzeichnis ... drum hatte ich den vorhin erwähnt ... hattest du dein Programm wärend des öffnen des Dialogs laufen lassen, oder danach nochmal neu gestartet?
Bei Letzerem könnte Delphi ja nochmal dazwischengehn und den Pfad erneut setzen.