Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2008, 18:27   #21
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

абсолютно... но кроме того он каталоги даже не находит.... просто пустое дерево плучается
yulia вне форума Ответить с цитированием
Старый 02.12.2008, 18:46   #22
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

и так ... Вопрос номер АдЫн :

if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; - а в ту ли сторону направлены косые ?! Ответ - НЕд ! =)
Вам надо найти все файлы жПГ во всех под папках ?
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 02.12.2008, 19:14   #23
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Цитата:
Сообщение от Sm1Le Посмотреть сообщение
и так ... Вопрос номер АдЫн :

if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; - а в ту ли сторону направлены косые ?! Ответ - НЕд ! =)
в ту..... оно же работает... ищет все файлы во всех папках

Цитата:
Сообщение от Sm1Le Посмотреть сообщение
Вам надо найти все файлы жПГ во всех под папках ?
да
yulia вне форума Ответить с цитированием
Старый 02.12.2008, 19:56   #24
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Пробивала изменить направление косой и дописать jpg ?
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 02.12.2008, 20:15   #25
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Подправил 16-й пост.
Сейчас нет времени проверить, попробуйте сами - заменить faDirectory на faAniFile и к проверке
Код:
else if IncludeFiles then
if SearchRec.Name[1] <> '.' then
добавить проверку на расширение JPG.
mihali4 вне форума Ответить с цитированием
Старый 02.12.2008, 21:37   #26
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

не получается, ну и ладно.. я тут подумала и поняла, что не то делаю....

Сейчас процедура находит все каталоги и файлы на определенном диске, но если диск достаточно большого объема, то это занимает много времени... вот я ищу способ ускорить процесс... Думала искать только картинки, т.к. они мне только нужны, но тут поняла, что смысла нету - все просматривать все равно придется....

Может кто подскажет как можно ускорить процесс?
yulia вне форума Ответить с цитированием
Старый 02.12.2008, 21:47   #27
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

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

http://forum.sources.ru/index.php?sh...7&hl=ttreeview

тут можно почитать про то что тебя интересует ....
Skype : UASm1Le.

Последний раз редактировалось Sm1Le; 02.12.2008 в 21:55.
Sm1Le вне форума Ответить с цитированием
Старый 03.12.2008, 22:31   #28
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Не поверите, получилось!!! ))))))))))))

Может кому надо будет...
Код:
procedure GetDirectories(Tree: TTreeView; Directory: string;
Item: TTreeNode; IncludeFiles: Boolean);
var
  SearchRec: TSearchRec;
  ItemTemp: TTreeNode;
  i:integer;
begin
  Tree.Items.BeginUpdate;
  if Directory[Length(Directory)] <> '\' then Directory := Directory + '\';
  if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
  begin
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and
      (SearchRec.Name[1] <> '.') then
      begin
        if (SearchRec.Attr and faDirectory > 0) then
        Item := Tree.Items.AddChild(Item, SearchRec.Name);
        ItemTemp := Item.Parent;
        Tree.Items.AddChildObject(Item,'',nil);
        //GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);
        Item := ItemTemp;
      end
     else if IncludeFiles then
        if SearchRec.Name[1] <> '.' then
          Tree.Items.AddChild(Item, SearchRec.Name);
    until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  end;
  Tree.Items.EndUpdate;
end; 

procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
  var AllowExpansion: Boolean);
var
count:integer;
path:string;
endpath:array [0..2000] of char;
 Function recGetPath(node:TTreeNode):TTreeNode;
   begin
        If node.Parent<>nil then
        begin
          path:=node.Text+'\'+path;
          recGetPath(node.Parent);
        end
      else path:=node.Text+'\'+path;
          end;
 begin
recGetPath(node);
path:=dir+'\'+path;
strPcopy(endpath,path);
count:=strlen(endpath);
StrLCopy(endpath,endpath,count-1);
path:=StrPas(endpath);
IF Node.getFirstChild.Data = nil
Then Begin
Node.DeleteChildren;
GetDirectories(TreeView1, path, Node, true);
End;
end;
yulia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TreeView и БД Constellation БД в Delphi 12 27.09.2008 15:22
TreeView _SERGEYX_ Общие вопросы Delphi 1 01.09.2008 17:29
Treeview forzi Помощь студентам 4 04.05.2008 23:50
TreeView и текст Stanislav Общие вопросы Delphi 5 28.03.2008 00:25