|
#1
|
|||
|
|||
OpenDialog
Здраствуйте. Подскажите пожалуйста можно ли с помощью OpenDialog присваивать переменной имя папки(пустой или с файлами), а если нет, то как можно?
Я делаю вот так(но это криво и работает не всегда): Код:
procedure TForm6.Button8Click(Sender: TObject); var Se:string; begin if OpenDialog1.Execute then begin Se:=ExtractFilePath(OpenDialog1.FileName); Edit4.Text:=Se; end; end; |
#2
|
||||
|
||||
В делфи такого компонента нету. Можно только если установив пакет компонентов AlphaSkins или почитав ету статью http://www.delphi.int.ru/articles/13/
Не твори зла, и жизнь повернется к тебе передом |
#3
|
||||
|
||||
Я так понимаю, нужно выбрать папку. Можно использовать SelectDirectory
Код:
uses FileCtrl ... var Se: string; ... SelectDirectory('Выберите папку:', '', Se); Edit4.Text:=Se; |
#4
|
||||
|
||||
вот вариант диалога для выбора папки:
Код:
uses ShlObj; .............. procedure TMainForm.bt_FOLDERClick(Sender: TObject); var TitleName : string; lpItemID : PItemIDList; BrowseInfo : TBrowseInfo; DisplayName : array[0..MAX_PATH] of char; TempPath : array[0..MAX_PATH] of char; begin FillChar(BrowseInfo, sizeof(TBrowseInfo), #0); BrowseInfo.hwndOwner := Handle; BrowseInfo.pszDisplayName := @DisplayName; TitleName := 'Выберите каталог для копирования ...'; BrowseInfo.lpszTitle := PChar(TitleName); BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS + BIF_NEWDIALOGSTYLE; lpItemID := SHBrowseForFolder(BrowseInfo); if lpItemId <> nil then begin SHGetPathFromIDList(lpItemID, TempPath); txt_FOLDER.Text := TempPath; // в переменную txt_FOLDER заносится значение пути GlobalFreePtr(lpItemID); end; end; |