|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вызов диалога каталога и сохранения пути
У меня есть следующее вопрос. есть например две кнопки, как сделать чтобы одна кнопка отвечала за открывания диалога для выбора определенного каталога (папки), а вторая кнопка должна открывать эту папку (адрес к определенному каталогу, который мы задали при выборе каталога)
|
#2
|
||||
|
||||
Как-то не очень понятно, с помощью первой кнопки вы открываете диалог и выбираете папку куда будет сохранен или откуда будет взят файл. Зачем нужна еще одна кнопка, которая делает то-же самое?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
А SelectDirectory не пробывал?
|
#4
|
|||
|
|||
Цитата:
|
#5
|
||||
|
||||
Блин, или я тупой или одно из двух.
Вы пишете что с помощью первой кнопки вы открываете диалог для выбора каталога. Хорошо выбрали C:\Dir\ Далее вы пишете, вторая кнопка должна открывать папку которая была выбрана с помощью первой кнопки. Так вы это уже сделали. Или подразумевается открыть в эксплорере эту папку что-ли? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
Цитата:
через вторую кнопку открыть в эксплорере эту папку !!! |
#7
|
||||
|
||||
Мда, тернист путь к истине. Не зря говорят, что правильно заданный вопрос это 90% ответа.
Код:
ShellExecute(handle,nil,PChar(OpenDialog1.FileName),nil,nil,SW_SHOWNORMAL); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
Цитата:
я уже нашел ответ) Код:
procedure TForm1.Button1Click(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 := Form1.Handle; BrowseInfo.pszDisplayName := @DisplayName; TitleName := 'Please specify a directory'; BrowseInfo.lpszTitle := PChar(TitleName); BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS; lpItemID := SHBrowseForFolder(BrowseInfo); if lpItemId <> nil then begin SHGetPathFromIDList(lpItemID, TempPath); Edit1.Text:=TempPath; GlobalFreePtr(lpItemID); end; end; procedure TForm1.Button2Click(Sender: TObject); begin ShellExecute(handle,nil,PChar(Edit1.Text),nil,nil,SW_SHOWNORMAL); end; end. |
#9
|
|||
|
|||
Да, дурная голова рукам покою не дает
Код:
procedure TForm1.Button1Click(Sender: TObject); var S : String; begin If SelectDirectory('Path:','',S) Then Edit1.Text := S; end; |