![]() |
Verzeichnisnamen ermitteln mit OpenDialog
Wie kann ich den Verzeichnisnamen ermitteln, ohne daß ich in Opendialog eine Datei anklicken muß?
Manchmal möchte ich den Dateinamen eines leeren Verzeichnisses ermitteln. Damit die User darin speichern können. Beenden kann ich open dialog allerdings nur erfolgreich, wenn ich ein File anklicke. Was kann ich machen? |
Re: Verzeichnisnamen ermitteln mit OpenDialog
In dem du den entsprechenden Dialog dafür benutzt:
![]() |
Re: Verzeichnisnamen ermitteln mit OpenDialog
Hallo.
Manchmal hilft schon SelectDirectory() aus der Unit FileCtrl. Freundliche Grüße vom marabu |
Re: Verzeichnisnamen ermitteln mit OpenDialog
In der
![]() |
Re: Verzeichnisnamen ermitteln mit OpenDialog
ab welcher Version gibt es den
Browseforfolder? die 3 er hat ihn wohl noch nicht |
Re: Verzeichnisnamen ermitteln mit OpenDialog
Probiers mal mit folgender Funktion:
Delphi-Quellcode:
function GetFolder: string;
var bi: TBROWSEINFO; lpBuffer: PChar; pidlPrograms, pidlBrowse: PItemIDList; ShellH: IMalloc; begin if (not SUCCEEDED(SHGetSpecialFolderLocation(0, 0, pidlPrograms))) then Exit; try GetMem(lpBuffer, MAX_PATH); try bi.hwndOwner:=GetActiveWindow; bi.pidlRoot:=pidlPrograms; bi.pszDisplayName:=lpBuffer; bi.lpszTitle:='Zielverzeichnis wählen'; bi.ulFlags:=BIF_RETURNONLYFSDIRS; bi.lpfn:=NIL; bi.lParam:=0; pidlBrowse:=SHBrowseForFolder(bi); if (pidlBrowse <> nil) and (SHGetPathFromIDList(pidlBrowse, lpBuffer)) then Result:=lpBuffer; finally FreeMem(lpBuffer); end; finally if SHGetMalloc(ShellH) = NOERROR then ShellH.Free(pidlBrowse); end; end; |
Re: Verzeichnisnamen ermitteln mit OpenDialog
mhh, danke
es ging viel leichter mit : SelectDirectory
Delphi-Quellcode:
^^ ist ja richtig komfortabel der Dialog...
var Dir:String
begin Dir := ExtractFileDir(Application.ExeName); if SelectDirectory (Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then form3.Edit1.Text := Dir; end; Spitze! aber: ab welcher Version gibt es den Browseforfolder? die 3 er hat ihn wohl noch nicht |
Re: Verzeichnisnamen ermitteln mit OpenDialog
Zitat:
Warum steht das eigentlich unter "Programmieren allgemein"? :roll: |
Re: Verzeichnisnamen ermitteln mit OpenDialog
dann wird er wissen wollen in welcher unit die funktion declariert ist damit er sie verwenden kann bzw. ab welcher delphiversion die declaration in irgend einer unit vorhanden ist. Natürlich kann er die funktion auch manuell importieren aber es ist doch bedeutend einfach einfach eine unit einzubinden.
|
Re: Verzeichnisnamen ermitteln mit OpenDialog
Zitat:
![]() EDIT: Sorry, hab Luckies Post nicht gesehen. Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz