08.07.2020, 11:16 [+3 UTC]
в нашей команде: 4 662 чел. | участники онлайн: 4 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
07.07.2020, 19:11

Последний вопрос:
07.07.2020, 13:03
Всего: 152720

Последний ответ:
08.07.2020, 02:59
Всего: 260323

Последняя рассылка:
07.07.2020, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
06.04.2012, 17:18 »
Петровский Г И
На счет HP Compaq 630 A6F22EA вы правы как это я его пропустил. [вопрос № 185763, ответ № 270451]
12.09.2019, 23:38 »
dar777
Это самое лучшее решение! [вопрос № 196283, ответ № 278658]
17.08.2019, 16:50 »
dar777
Это самое лучшее решение! [вопрос № 196112, ответ № 278522]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 304
puporev
Статус: Профессор
Рейтинг: 73
Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 146062
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Евчик Сергей Александрович
Отправлена: 05.10.2008, 12:57
Поступило ответов: 1

Доброго времени суток уважаемые эксперты! Может мой вопрос покажется идиотским (по крайней мере, я так считаю :-)) но все же он возник: Можно ли впихнуть прогресс-бар в процедуру поиска файлов? И если можно, то, как это реализовать? Процедура в приложении.

Приложение:

Состояние: Консультация закрыта

Ответ # 231235 от Шичко Игорь

Здравствуйте, Евчик Сергей Александрович!
В принципе можно. Я бы предложил такой алгоритм:
по мере мере заполнения прогресс-бара домножать его максимальное значение на 2.
Предлагаемое дополнение кода - в приложении.
Для наглядности нужно подобрать значения ProgressBar1.Max хотя бы 500 и шаг 20.

Приложение:


Консультировал: Шичко Игорь
Дата отправки: 05.10.2008, 15:42

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 146062
Markedone

# 1

= общий = | 05.10.2008, 13:26

Procedure TMainForm.SearchFile(way,mask:string);
Var SR:TSearchRec;
    FindRes:Integer;
begin
FindRes:=FindFirst(way+mask,faAnyFile,SR);
 While FindRes=0 do
  begin
   if ((SR.Attr and faDirectory)=faDirectory) and
      ((SR.Name='.')or(SR.Name='..')) then
       begin
        FindRes:=FindNext(SR);
        Continue;
       end;
   if ((SR.Attr and faDirectory)=faDirectory) then 
     begin
      SearchFile(way+SR.Name+'\','*.*'); 
      FindRes:=FindNext(SR); 
      Continue; 
     end;
   FileBox.Items.Add(SR.Name);
   FindRes:=FindNext(SR);
    with ProgressBar1 do
    begin
      Position:=Position+1;
      if Position = Max then
        position:=min;
    end; 
  end;
 FindClose(SR);
end;


На форме ProgressBar1. Скорее всего это не совсем то, что вам надо. У меня прогресс бар не отображает реального этапа выполнения задачи. Проще говоря, когда поиск выполнился на 50%, прогресс бар будет показывать другое значение. Если это то, что вам надо сообщите в минифорум.

Вадим Исаев ака sir Henry
Мастер-Эксперт

ID: 425

# 2

= общий = | 05.10.2008, 13:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Так как обычно применяют ProgressBar сделать невозможно, т.к. для этого Вам надо знать количество найденных файлов заранее.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Gladiator

# 3

= общий = | 05.10.2008, 14:04

Так выводите хотя-бы текущий каталог поиска - также информативно.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Евчик Сергей Александрович

# 4

= общий = | 05.10.2008, 14:13

Спасибо за ответы! Сам понимаю что нереально smile . Но на эту идею натолкнул поиск в Windows Vista. Хотя, подозреваю, что она также берет граничные значения из MFT.
P.S. Насчет ответа Абельхарисова Руслана – это не совсем то что я хотел. Но идея очень даже интересная и в качестве индикатора работы вполне сойдет. Жаль только что лишний if будет сильно тормозить и без того продолжительный процесс поиска.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Вадим Исаев ака sir Henry
Мастер-Эксперт

ID: 425

# 5

= общий = | 05.10.2008, 15:06 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Евчик Сергей Александрович
Про висту в этом отношении вообще ходят легенды, так что её за образец брать не надо. По её расчётам, например, один DVD-диск должен копироваться больше ста лет. smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13928 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39