Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

вход в папку в компоненте DirectoryListBox   Найти похожие ветки 

 
Вход в папку   (2008-04-17 14:07) [0]

Есть компонент DirectoryListBox показывающий все папки на диске С, в цикле устанавливаю курсор по очереди на первую папку, потом на вторую, затем на третью и тд., пока не будут перебраны все папки находящиеся на диске С, в компоненте FileListBox отображается содержимое папки, в которой я нахожусь. Проблема в том, что когда я по циклу указываю на папку, то я не вхожу в неё и соответственно в FileListBox не отображается её содержимое, а отображается содержимое корня диска С. Подскажите пожалуйста, как можно сделать так, чтобы программа сама вошла в папку выбраную в компоненте DirectoryListBox?


 
Kolan ©   (2008-04-17 14:09) [1]

> то я не вхожу в неё

Так входи?


> чтобы программа сама вошла в папку выбраную

Сама программа ничего не сделает, пока ты не напишешь нужный код.


 
Вход в папку   (2008-04-17 14:14) [2]

Подскажи пожалуйста, как будет выглядеть этот код. Наверняка там всего несколько строчек, просто чтобы FileListBox показывал содержимое папки выбранной в DirectoryListBox.


 
Плохиш ©   (2008-04-17 14:19) [3]


> Вход в папку   (17.04.08 14:14) [2]
> Подскажи пожалуйста, как будет выглядеть этот код. Наверняка
> там всего несколько строчек, просто чтобы FileListBox показывал
> содержимое папки выбранной в DirectoryListBox.

Там, вроде, и кода писать не надо, просто установить некоторые свойства. А в справку вместо Вас лезть мне в облом, тем более и задача-то учебная...


 
Оригинал   (2008-04-17 14:21) [4]

DirectoryListBox.OpenCurrent;


 
Семеныч   (2008-04-17 14:21) [5]

> автор

Наводящий вопрос - у FileListBox есть свойство DirectoryListBox?


 
Вход в папку   (2008-04-17 14:28) [6]

Нет, есть два компонента FileListBox и DirectoryListBox, нужно чтобы при наведении на определённую папку в DirectoryListBox в FileListBox отображались все файлы находящиеся в выделенной папке в компоненте DirectoryListBox.


 
Palladin ©   (2008-04-17 14:35) [7]


> Вход в папку   (17.04.08 14:28) [6]

когда в цикле "переходишь" после "перехода" вставь Application.ProcessMessages


 
Вход в папку   (2008-04-17 14:46) [8]

procedure TForm1.Timer1Timer(Sender: TObject);
var
i,j:Integer;
begin
DirectoryListBox1.Directory:="I:\";
for i:=0 to DirectoryListBox1.Items.count-1 do
begin
 DirectoryListBox1.ItemIndex:=i;
 Application.ProcessMessages;
 for j:=0 to FileListBox1.Items.count-1 do
 begin
  //какие-то действия
 end;
end;
end;

Пишу такую процедуру, после строки Application.ProcessMessages; управление передаётся на начало процедуры (begin), дальше не идёт...


 
Palladin ©   (2008-04-17 14:50) [9]

ммать... ты на кой это в таймер запихал то?


 
Palladin ©   (2008-04-17 14:52) [10]

читать до просветления
http://delphimaster.net/view/2-1208032052/


 
Вход в папку   (2008-04-17 14:55) [11]

ну, у меня просто действия по таймеру выполняются. попробовал на кнопку поставить, всё нормально, переходит на след. строку, вот только не входит в тут папку которая указана в DirectoryListBox.


 
Плохиш ©   (2008-04-17 15:01) [12]

А можно объяснить, что-такое "вход в папку"?


 
Palladin ©   (2008-04-17 15:03) [13]


> Вход в папку   (17.04.08 14:55) [11]

ну а свойство DirectoryListBox.FileList назначено?


 
Вход в папку   (2008-04-17 15:11) [14]

да, назначил - FileListBox1


 
Вход в папку   (2008-04-17 15:16) [15]


> А можно объяснить, что-такое "вход в папку"?

то есть нужно чтобы при выделении в DirectoryListBox например папку 1 диска С, программа не просто выделила эту папку, а вошла в неё, то есть чтобы в FileListBox отобразилось содержимое этой папке, ну как если просто щёлкнуть по папке мышкой, чтобы зайти туда, а нужно чтобы программа сама кабы щёлкнула.


 
Palladin ©   (2008-04-17 15:17) [16]

ну так и войди в нее... назначь DirectoryListBox.Directory новое значение...


 
Вход в папку   (2008-04-17 15:24) [17]

добавил строчку:   DirectoryListBox1.Directory:=DirectoryListBox1.Items[i]; всё стало работать, в папку входит, но почему-то не выполняет действие в самой папке, хотя выполняет эти же действия до входа в папку, вот текст процедуры:

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
begin
DirectoryListBox1.Directory:="I:\";
for i:=0 to DirectoryListBox1.Items.count-1 do
begin
 DirectoryListBox1.ItemIndex:=i;
 DirectoryListBox1.Directory:=DirectoryListBox1.Items[i];
 Application.ProcessMessages;
 for j:=0 to FileListBox1.Items.count-1 do
 begin
  DeleteFile("I:\"+FileListBox1.Items[j]);
 end;
end;
end;


 
Palladin ©   (2008-04-17 15:29) [18]

) интересный ты фрукт... несообразительный какой то...

осталось сделать несколько волшебных изменений

procedure TForm1.Button1Click(Sender: TObject);
var
 i,j:Integer;
 d:TStringList;
begin
 DirectoryListBox1.Directory:="I:\";
 d:=TStringList.Create;
 Try
  d.AddStrings[DirectoryListBox1.Items];
  for i:=0 to d.count-1 do
   begin
    DirectoryListBox1.Directory:="I:\"+d[i];
    Application.ProcessMessages;
    for j:=0 to FileListBox1.Items.count-1 do
     DeleteFile("I:\"+{а путь то текущий пушки прибавлять будет?}+d[i]+"\"+FileListBox1.Items[j]);

   end;
 Finally
  d.Free;
 End;
end;

наслаждайся...


 
Вход в папку   (2008-04-17 15:31) [19]

спасибо большое!!!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.044 c
15-1207118358
Рамиль
2008-04-02 10:39
2008.05.18
Так, признавайтесь..


2-1208326305
Mishenka
2008-04-16 10:11
2008.05.18
Как в TEdit определить в какой позиции находится курсор?


3-1197115789
Gunek
2007-12-08 15:09
2008.05.18
Ошибка при использовании dbchart


15-1204709993
@!!ex
2008-03-05 12:39
2008.05.18
Будьте бдительны!


2-1208278528
Mag
2008-04-15 20:55
2008.05.18
Создал две динамических объекта и не могу к ним обратиться, как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский