Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nur Pfad - Opendialog (https://www.delphipraxis.net/185-nur-pfad-opendialog.html)

Jonson 17. Jun 2002 17:15


Nur Pfad - Opendialog
 
Hi,

wie kann ich mit Hilfe OpenDialogs eine Pfadangabe in ein Editfeld bekommen?

Mit freundlichen Grüßen

Jonson

thomasdrewermann 17. Jun 2002 17:29

Hiermit:

Code:
if opendialog1.execute then
label1.caption:=ExtractFileDir(opendialog1.filename);
In diesem Code-Beispiel ist auf einem Formular label1 und opendialog1 vorhanden.
Wird der obige Code ausgeführt, öffnet sich ein Opendialog, und der Pfad der Ermittelten Datei wird herausgefiltert.... :D

MFG
Thomas

Jonson 17. Jun 2002 22:25

@thomasdrewermann: Danke

Jonson

Luckie 17. Jun 2002 23:04

Wie geht das, wenn das Verzeichnis leer ist?

Hier etwas Coder für einen Dialog zum Auswählen eines Verzeichnises:
Code:
uses shlobj;


function TfrmMain.OpenFolder(root: Integer; Caption: string): string; //Verzeichnis-Öffnen-Dialog-Funktion
var
  bi: TBrowseInfo;
  lpBuffer: PChar;
  pidlPrograms, pidlBrowse: PItemIDList;
begin
  if (not SUCCEEDED(SHGetSpecialFolderLocation(GetActiveWindow, root,
    pidlPrograms))) then
    exit;
  lpBuffer := StrAlloc(MAX_PATH);
  bi.hwndOwner := GetActiveWindow;
  bi.pidlRoot := pidlPrograms;
  bi.pszDisplayName := lpBuffer;
  bi.lpszTitle := PChar(Caption);
  bi.ulFlags := BIF_RETURNONLYFSDIRS;
  bi.lpfn := nil;
  bi.lParam := 0;

  pidlBrowse := SHBrowseForFolder(bi);
  if (pidlBrowse <> nil) then
    if SHGetPathFromIDList(pidlBrowse, lpBuffer) then
      Result := lpBuffer;
  StrDispose(lpBuffer);
end;

procedure TfrmMain.cmdOpenClick(Sender: TObject);
begin
  txtPath.Caption := OpenFolder(CSIDL_DRIVES, 'Verzeichnis wählen'); //Übergabe des gewählten Verzeichnisses
end;

Jonson 18. Jun 2002 08:16

@Luckie: cool, Danke!!!

Jonson

Christian Seehase 18. Jun 2002 09:51

Moin Luckie,

Zitat:

Zitat von Luckie
Wie geht das, wenn das Verzeichnis leer ist?

Einfach FileName im OI mit einem Dummywert vorbelegen.

SHBrowseForFolder, oder SelectDirectory erscheinen mir allerdings prinzipiell sinnvoller.

Jonson 18. Jun 2002 10:42

@Christian: Danke

Jonson


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz