Thema: Delphi SelectDirectory

Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: SelectDirectory

  Alt 13. Apr 2018, 18:00
Vielleicht magst Du ja eine Zwei-In-Einem Variante, für WindowsXP dein SelectDirectory und ab Vista das neue Fenster.
Ist Hauptsächlich nur die Optik.

Delphi-Quellcode:
function SelDir ( StartPath : String; var SelectedDir : String ) : Boolean;
begin
  Result := False;
  if Win32MajorVersion >= 6 then
  with TFileOpenDialog.Create(nil) do
    try
      Title := 'Select Directory';
      Options := [fdoPickFolders, fdoPathMustExist, fdoForceFileSystem];
      OkButtonLabel := 'Select';
      DefaultFolder := StartPath;
      FileName := StartPath;
      if Execute then
      begin
        SelectedDir := FileName;
        Result := True;
      end;
    finally
      Free;
    end
    else
    if SelectDirectory('Select Directory', ExtractFileDrive(StartPath), StartPath,
                       [sdNewUI, sdNewFolder, sdShowShares]) then
     begin
       SelectedDir := StartPath;
       Result := True;
     end;
end;


// Beispiel Aufruf:
procedure TForm2.Button1Click(Sender: TObject);
var
  s : String;
begin
 if SelDir('',S) then ShowMessage(s);
end;
Unterschiede zwischen Vista und XP Dialog wäre falls Du so SelDir('C:\XYZ\',S) den Aufruf machst, unter Vista wäre der User beim Aufruf bereits in "C:\XYZ\" drinnen bei XP hingegen hätte der Dialog "C:\XYZ\" ausgewählt.
Gruß vom KodeZwerg

Geändert von KodeZwerg (13. Apr 2018 um 18:41 Uhr) Grund: Code aktualisiert
  Mit Zitat antworten Zitat