![]() |
|
|
#1
|
|||
|
|||
|
Здраствуйте. Подскажите пожалуйста можно ли с помощью 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; |