![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Как в Delphi вызвать диалог выбора папки, а не файла?
Только учусь Delphi... |
#2
|
||||
|
||||
![]() Код:
uses FileCtrl, ... var Directory: String; begin if SelectDirectory('Выбери папку:', '', Directory) then begin ShowMessage(Directory); end; end; Пишу программы за еду. __________________ |
#3
|
||||
|
||||
![]() Огромное спасибо.
Только учусь Delphi... |
#4
|
|||
|
|||
![]() Не рекомендовал бы такой голый код,поскольку теряются пути.
Например прога лежит на диске D/PROGA/1.exe Внутри коды вы используете подключение к сторонним файлам программы,например к ini файлу. Который лежит в каталоге с программой в папке INI. Для открытия такого файла используют путь 'INI/ИМЯ ФАЙЛА.INI'. Таким методом программа будет загружать файлы не зависимо от каталога куда ее поместили. После того как вы откроете каталог методом описанном выше получите следующий путь по умолчанию. 'ПУТЬ ДО КАТАЛОГА КАТОРЫЙ Я ОТКРЫЛ/INI/ИМЯ ФАЙЛА.INI'. Если у вас прога в 1 екзешник то ничего страшного нету если нет примите к сведению. Есть более совершенный и красивый метод открытия каталога. ПРиведу пример если потребуется |
#5
|
||||
|
||||
![]() Цитата:
Код:
IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))+'ini\my.ini' Пишу программы за еду. __________________ |
#6
|
||||
|
||||
![]() Цитата:
![]() |
#7
|
||||
|
||||
![]() Цитата:
![]() Пишу программы за еду. __________________ |
#8
|
|||
|
|||
![]() ![]() |
#9
|
|||
|
|||
![]() Код:
function TFORM_GLAV.Selectdir(const str: string): string; var lpIDs: PItemIDList; Browses : TBrowseInfo; Displs : array[0..MAX_PATH] of char; TempPath : array[0..MAX_PATH] of char; begin Result:=''; sx:=str; FillChar(Browses, sizeof(TBrowseInfo), #0); Browses.hwndOwner := Application.Handle; Browses.pszDisplayName := @DisplayName; Browses.lpszTitle := PChar('Укажите каталог для сохранения'+#13+'(нахождение выгруженных файлов)'); Browses.ulFlags := BIF_DONTGOBELOWDOMAIN or $0040; lpIDs := SHBrowseForFolder(Browses); if lpItemId <> nil then begin SHGetPathFromIDList(lpIDs, TempPath); Result:=StrPas(TempPath); GlobalFreePtr(lpIDs); end; |
#10
|
||||
|
||||
![]() конечно тоже самое. я уже выше писал, что SelectDirectory использует ту же SHBrowseForFolder
Пишу программы за еду. __________________ |