Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск файлов

17K
27 июля 2006 года
tdutybq
7 / / 14.06.2006
Подскажите, никак не получается вставить ProgressBar так чтобы он выполнял Position от начала поиса и до конца .
Вот код:
Код:
void __fastcall Look(void)
{
  AnsiString CurDir = GetCurrentDir();//dir;
  TSearchRec sr;
  if(FindFirst("*.*",faAnyFile|faDirectory|faHidden,sr)==0)
    do
    {
      if((ExtractFileExt(sr.Name) == ".tmp") || (ExtractFileExt(sr.Name) == ".chk"))
        {
        Form1->ListBox1->Items->Add(CurDir+sr.Name);
        n++;
        Form1->ProgressBar1->Max = n;
        for(int i=0; i<=Form1->ProgressBar1->Max; i++)
        {
         Form1->ProgressBar1->Position = i;
        }
        }
      else if(sr.Attr==faDirectory && sr.Name!="." && sr.Name!="..")
      {
        ChDir(sr.Name);
        //SetCurrentDir(ExtractFileDir(sr.Name));
        Look();
        ChDir("..");
        //SetCurrentDir(CurDir);
      }
    }
    while(!FindNext(sr));
   
  FindClose(sr);
}

Так он выполняет очень быстро, а надо чтобы процесс шёл по мере продвижения поиска.
[color=red]Код в сообщении форматировать обязательно.
[/color]
6.9K
28 июля 2006 года
RZ_RZ
53 / / 09.06.2005
Тебе надо установить Form1->ProgressBar1->Max, а ты незнаешь скока дуда поставить. Можно узнать общее кол-во файлов в области поиска (сделать поиск по маске *.*), но оно того не стоит.

Ты вообще гденибудь такое видел?

Сделай как везде просто анимашку какуюнибудь, или выводи перебираемые каталоги.
17K
29 июля 2006 года
tdutybq
7 / / 14.06.2006
На счёт анимашки, я думал, а как перебиранием каталогов сделать, чёто у меня не получается?
1
30 июля 2006 года
kot_
7.3K / / 20.01.2000
[QUOTE=tdutybq]На счёт анимашки, я думал, а как перебиранием каталогов сделать, чёто у меня не получается?[/QUOTE]
Код:
//Создаешь функцию для поиска
void __fastcall FindFiles(const String& Dir){
 TSearchRec sr;
if (FindFirst(Dir, faAnyFile, sr) == 0)
{
do{

  if(sr.Attr & faDirectory){
 //Если нужно  - добавляешь имя функции
  //Зедсь должен быть рекурсивный вызов функции
  FindFiles(sr.Name);

}
else if((ExtractFileExt(sr.Name) == ".tmp") || (ExtractFileExt(sr.Name) == ".chk")){
//Здесь добавляешь найденные файлы
...
}
}while(FindNext(sr) == 0);
    FindClose(sr);
}
//Не забывай выйти
 ChDir("..");

}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог