Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.04.2008, 20:10
Fhdensity Fhdensity вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 11
Репутация: 10
По умолчанию Помогите а? Запутался.

Есть вот такая муть. Выбор каталога.
Все прекрасно кроме того, что немогу задать начальный каталог.
Программирую очень мало. Инет изучил но все вогруг да около.
Доработайте пожалуйста мой исходничек. Начальный каталог например
D:\TMP;
Код:
 FillChar( BrowseInfo, SizeOf( TBrowseInfo ), #0 );
   BrowseInfo.hwndOwner := FMain.Handle;
   BrowseInfo.pszDisplayName :=  DisplayName;
   TitleName := 'Выбери каталог.';
   BrowseInfo.lpszTitle := PChar( TitleName );
   BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
   lpItemID := SHBrowseForFolder( BrowseInfo );
  if lpItemId <> nil then
   begin
     SHGetPathFromIDList( lpItemID, TempPath );
     PathD := TempPath;
     ShowMessage(PathD);    Показываем путь который выбрали.
     GlobalFreePtr( lpItemID );
   end;
Admin: Используем теги для оформления кода!

Последний раз редактировалось Admin, 21.04.2008 в 20:16.
Ответить с цитированием
  #2  
Старый 22.04.2008, 08:24
jump jump вне форума
Прохожий
 
Регистрация: 20.04.2008
Сообщения: 10
Репутация: 10
По умолчанию

помойму так:
SetCurrentDir('c://..')
Ответить с цитированием
  #3  
Старый 22.04.2008, 12:01
Fhdensity Fhdensity вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Не прокатывает. Там все намного сложнее.
Ответить с цитированием
  #4  
Старый 24.04.2008, 10:55
Fhdensity Fhdensity вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Ну может кто знает другой способ выбора каталога с предустановкой изначального пути??
Ответить с цитированием
  #5  
Старый 24.04.2008, 11:56
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
По умолчанию

Товарисч Jump правильно говорит.
Оператор SetCurrentDir('D:\TMP'); \\установит каталог TMP на диске D как текущий и все операции ввода вывода с файловой системой без указания пути будут проводится в этом каталоге.
Что бы проверить используй функцию Label1.Caption := GetCurrentDir;
Ответить с цитированием
  #6  
Старый 24.04.2008, 13:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Во первых, можно посмотреть в ShellControls реализации дерева каталогов (можно и свою форму для этого написать.
Во вторых, например, я нашел компонент, который дает теже возможности, как и BrowseForFolder плюс еще кучу всяких вкусностей, в т.ч. и установку начального каталога.

Если я правильно понял в чем проблема.
Ответить с цитированием
  #7  
Старый 24.04.2008, 17:09
Fhdensity Fhdensity вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Во первых, можно посмотреть в ShellControls реализации дерева каталогов (можно и свою форму для этого написать.
Во вторых, например, я нашел компонент, который дает теже возможности, как и BrowseForFolder плюс еще кучу всяких вкусностей, в т.ч. и установку начального каталога.

Если я правильно понял в чем проблема.
Правильно. А где нашел??
Может сюда выложешь???
Ответить с цитированием
  #8  
Старый 24.04.2008, 17:17
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Нашел на Тори.
Attached.
Вложения
Тип файла: zip BrowseFolder.zip (6.8 Кбайт, 12 просмотров)
Ответить с цитированием
  #9  
Старый 24.04.2008, 19:20
Fhdensity Fhdensity вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Все отлично только еще маленькая просьба подсказать как этим пользоваться.
Потыкал и ничего не понял.
Допер только до
If FileBrowser1.execute Then


пробовал переменную присваивать add : String;
add := Filebrowser.GetNamePath;
add := Filebrowser.SelectedDirectory;
add := FileBrowser.GetNamePath;

В add ничего не записывается после выбора каталога.
Ответить с цитированием
  #10  
Старый 24.04.2008, 19:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Типа так:

Код:
dlgBrowse.Directory := InitDir;
If dlgBrowse.Execute Then
  ShowMessage('User select ' + dlgBrowse.Directory + ' folder');
Ответить с цитированием
  #11  
Старый 24.04.2008, 19:33
Fhdensity Fhdensity вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Ура ура ура!!! Все получилось! Огромное спасибо!
Разобрался.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025