Delphi-Quellcode:
function SelDir ( StartPath : String; var SelectedDir : String ) : Boolean;
begin
Result := False;
with TFileOpenDialog.Create(nil) do
try
Title := 'Select Directory';
Options := [fdoPickFolders, fdoPathMustExist, fdoAllNonStorageItems, fdoShareAware, fdoForceShowHidden, fdoDefaultNoMiniMode];
OkButtonLabel := 'Select';
DefaultFolder := StartPath;
FileName := StartPath;
if Execute then
begin
if FileExists(FileName) then SelectedDir := ExtractFilePath(FileName) else SelectedDir := FileName;
Result := True;
end;
finally
Free;
end
end;
So wärst Du auf der sicheren Seite, falls User eine .CAB Datei wählt, wird dessen Verzeichniss genommen anstelle des Archivnamens.