Форум: "Начинающим";
Текущий архив: 2015.02.08;
Скачать: [xml.tar.bz2];
ВнизУстановка начального каталога SelectDirectory Найти похожие ветки
← →
Aleks (2014-01-06 14:20) [0]Доброго времяни суток Мастера подскажите, есть ли возможность установить начальный каталог в SelectDirectory так что б он развернулся и была возможность перейти как в низ каталога так и вверх.
Непонятно изложил свою мысль , извините, уточните.
← →
Aleks (2014-01-06 15:50) [1]Что нужно сделать чтобы дерево папок развернулась до указанной папки.
← →
SelectDirectory (2014-01-06 16:26) [2]var chosenDirectory : string;
...
SelectDirectory(chosenDirectory, [sdAllowCreate, sdPerformCreate, sdPrompt], 0);
← →
Aleks (2014-01-06 16:43) [3]Делаю так.
if SelectDirectory("Выберите каталог","",a ) then
Begin
FileListBox1.Directory := a;
End
else
ShowMessage("Выбор был отменен");
Открывается диологовое окно выбираю папку всё ок.
Хочется чтоб при открытии диол. окна разворачивался каталог до нужной папки, например (e:\stro\ggh\text).
Делаю
if SelectDirectory("Выберите каталог","e:\stro\ggh\text",a ) then
Begin
FileListBox1.Directory := a;
End
else
ShowMessage("Выбор был отменен");
Открываеться то, что нужно, но я не могу выбрать другой диск, или папку которая находиться выше по каталогу . нпример (e:\stro)
← →
SelectDirectory (2014-01-06 18:28) [4]SelectDirectory("Выберите каталог","e:\stro\ggh\text",<I><U>a ) then
расскажи нам, что такое "а"
похоже, что ты не разобрался в параметрах этой функции :(
вместо "Выберите каталог" должно находиться "e:\stro\ggh\text", далее опции, с которыми вызываешь функцию и т.д.
Для начала, поставь первым параметром "e:\stro\ggh\text", то есть так
if SelectDirectory("e:\stro\ggh\text", [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
ну, и, расскажи, что получилось :)
← →
Aleks (2014-01-06 19:06) [5]a ---- это переменная в которую функция заносит путь к папке выбранный пользователем
var
a:String;
begin
if SelectDirectory("Выберите каталог","e:\stro\ggh\text",a ) then
Begin
FileListBox1.Directory := a;
End
else
ShowMessage("Выбор был отменен");
end;
if SelectDirectory ("ТЕКСТ НА ОКНЕ","Установка начального каталога",РЕЗУЛЬТАТ ) then
if SelectDirectory("e:\stro\ggh\text", [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
Ни чего не получилось. ошибка компиляции.
0--- Это что?
"e:\stro\ggh\text"---- зачем это мне в названии окна?
[sdAllowCreate, sdPerformCreate, sdPrompt]---- об этом по подробние пожалуйста.
с примером если можно.
← →
SelectDirectory (2014-01-06 19:44) [6]у тебя help есть?
примерыif SelectDirectory("e:\stro\ggh\text", [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
смотрел?
а так не пробовал?if SelectDirectory("e:\stro\ggh\text", [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
← →
SelectDirectory (2014-01-06 19:45) [7]у тебя help есть?
примерыprocedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := "C:\MYDIR";
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
Label1.Caption := Dir;
end;
смотрел?
а так не пробовал?
if SelectDirectory("e:\stro\ggh\text", [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
← →
Aleks (2014-01-06 20:08) [8]Нет у меня helpa.
Пример не работает, ошибка
[DCC Error] Unit1.pas(53): E2003 Undeclared identifier: "SELDIRHELP"
[DCC Warning] Unit1.pas(83): W1019 For loop control variable must be simple local variable
[DCC Warning] Unit1.pas(109): W1019 For loop control variable must be simple local variable
[DCC Warning] Unit1.pas(117): W1019 For loop control variable must be simple local variable
[DCC Fatal Error] Project1.dpr(5): F2063 Could not compile used unit "Unit1.pas"
SELDIRHELP - что это (Нет у меня helpa)
[sdAllowCreate, sdPerformCreate, sdPrompt] --- с этим делать
http://androschuk.blogspot.ru/2011/02/delphi.html --- тут читаю HELP
но того что мне нужно нет
Помогай сенсей
← →
SelectDirectory (2014-01-06 20:45) [9]Неужели так сложно скомпилить строку
if SelectDirectory("e:\stro\ggh\text", [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
, которую я дал
SelectDirectory (06.01.14 18:28) [4]
про опции
[sdAllowCreate, sdPerformCreate, sdPrompt] напишу позже, а вообще в хелпе про них:
sdAllowCreate An edit box allows the user to type in the name of a directory that does not exist. This option does not create a directory: the application must read the name of the selected directory and create it if desired.
sdPerformCreate Used only in combination with sdAllowCreate. If the user enters a directory name that does not exist, the directory selection dialog creates it.
sdPrompt Used only in combination with sdAllowCreate. Displays a message box that informs the user when the entered directory does not exist and asks if the directory should be created. If the user chooses OK, the directory is created if the option set includes sdPerformCreate. If the option set does not include sdPerformCreate, the directory is not created: the application must read the directory name and create it.
← →
Aleks (2014-01-06 21:22) [10]Это форум для начинающих Гранд Мастеров Delphi ? если так то прошу прощения я не туда попал.
И с английским у меня не важно:(
Помогай по проще, для просто начинающих, ок?
SelectDirectory (06.01.14 18:28) [4] ---- Это вообще абракадабра какая то...
Тут картинки вылаживать можно?
тут фотки программы "Так есть" - нет возможности выбрать другой диск
"Так нужно"- уменя только в ручном режиме получается
http://img-fotki.yandex.ru/get/6730/...5e98fb3f_L.jpg http://img-fotki.yandex.ru/get/9797/...e262d98e_L.jpg
← →
SelectDirectory (2014-01-06 21:29) [11]> Aleks (06.01.14 21:22) [10]
Выложи свой код, если это не государственная тайна.
Если громоздкий, то на любой файлообменник и сюда ссылку
← →
Aleks (2014-01-06 22:16) [12]программа запоминает последнюю открытую окном диолог папку и при следующим старте открывает её же, (удобно) но не всегда нужена одина и та же папка. Проблемма не могу подняться вверх по дереву каталога например не могу выбрать диск Е или С
Вот Код
procedure TForm1.ToolButton5Click(Sender: TObject);
var
a,: String;
begin
/// Этот путь вроде у всех есть кто на win7 (в оригинале переменная с memo1.text)
if SelectDirectory("Выберите каталог","C:\Windows\System32\drivers",a ) then
Begin
FileListBox1.Directory := a;
Memo1.Text:=a;
Memo1.Lines.SaveToFile(Prog+"\История\Путь.txt");
End
else
ShowMessage("Выбор был отменен");
end;
Проблемма в том что я не могу подняться в папку System32 или Windows и так далие.
← →
Dennis I. Komarov © (2014-01-06 22:47) [13]
> Это форум для начинающих Гранд Мастеров Delphi ? если так
> то прошу прощения я не туда попал.
> И с английским у меня не важно:(
>
По сценарию тут ария Плохиша :)
← →
Aleks (2014-01-06 22:57) [14]По сценарию тут ария Плохиша :)
Нет, по сценарию с умничать Мастеров много , а нормально объяснить, помоч. только единицы.
← →
Германн © (2014-01-06 23:28) [15]
> Проблемма в том что я не могу подняться в папку System32
> или Windows и так далие.
C SelectDirectory и не получится ибо виндовая ShBrowseForFolder иначе работать и не умеет.
← →
Aleks (2014-01-06 23:50) [16]Блин пол дня мне всякую умнятину скармливали........... а оно вот как.
Мастера, что посоветуети, на чём данный диолог собрать.
Что б можно было устанавливать начальный каталог и
что б он развернулся и была возможность перейти как в низ каталога так и вверх.
← →
Aleks (2014-01-07 00:38) [17]Вот нашёл на другой функции, но честно не чего не понял, подскажите. как тут установить начальный каталог.
uses ShellAPI, ShlObj;
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);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
← →
Плохиш © (2014-01-07 01:10) [18]
> Aleks (06.01.14 20:08) [8]
> Нет у меня helpa.
>
Дальше читать не стал.
← →
Aleks (2014-01-07 01:30) [19]Умники идите стороной, .......
Пол дня на форуме, за это время двое помогали и двое пену пускали.
Я был не прав нормальных людей тут столько же сколько и Умников...
50\50
← →
Германн © (2014-01-07 01:49) [20]
> Вот нашёл на другой функции, но честно не чего не понял,
> подскажите. как тут установить начальный каталог.
>
А на хрена? Я ж уже сказал про SHBrowseForFolder. То что ты привел это сильно урезанный код SelectDirectory.
Если уж сильно приспичило, то SelectDirectory существует в двух вариантах.
http://docwiki.embarcadero.com/Libraries/XE5/en/Vcl.FileCtrl.SelectDirectory
Первый (исконно Дельфийский) даст тебе возможность перемещаться по каталогам/дискам в любую сторону. Но увы он и выглядит антикварно и не локализован.
Если и это не устроит, рассмотри возможность использование диалога открытия/записи файла TOpen(Save)Dialog.
Если и это не годится, тогда ищи сторонние компоненты.
P.S. А на отвечающих перестань катить бочку. Тут не паперть, чтобы просить милостыню. И хелп надо иметь под руками и английский стараться учить.
← →
Aleks (2014-01-07 02:02) [21]Спасибо за ответ. Всем пока, тема закрыта.
P.S. А я тут не милостынью прошу, а совета и помощи, и нехрена умничить, нечего сказать так пусть мимо проходят, от таких всё одно тодку ноль.
← →
Германн © (2014-01-07 02:40) [22]
> P.S. А я тут не милостынью прошу, а совета и помощи
Увы, не похоже. Всё что я сказал есть в хелпе.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.02.08;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.002 c