Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

Сохранение пути и вызов диалога

Страницы: 1
Сохранение пути и вызов диалога
Здравствуйте. Помогите с проблемой. Есть две кнопки, одна должна открывать диалога для выбора папки, а вторая открывать эту папку.
Немного не понял. Зачем нужна вторая кнопка, если она делает тоже самое?
Изменено: Sergeiv - 19.01.2010 13:42:04
Попробуйте SelectDirectory
Первая кнопка для выбора каталога, вторая для его открытия
Все равно не понял. Первой кнопкой вам нужно открыть диалог, чтобы выбрать папку. Допустим, выбрали. Вторая кнопка чтобы её открыть. Вы же это уже сделали. Вам вторая кнопка вообще не нужна.
По второй кнопке папка должна открываться вашей программе или в эксплорере?
В эксплорере
Теперь понятно. Вот что вам нужно
Код
ShellExecute(handle,nil,PChar(OpenDialog1.FileName),nil,nil,SW_SHOWNORMAL);
Попробуйте так
Код
 
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.
А не проще вот так
Код
procedure TForm1.Button1Click(Sender: TObject);
var
  S : String;
begin
  If SelectDirectory('Path:','',S) Then Edit1.Text := S;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShellExecute(handle,nil,PChar(Edit1.Text),nil,nil,SW_SHOWNORMAL);
end;
Да, так проще.
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)