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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2013, 13:29   #11
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

1. Определяем кол-во записей. ProgressBar1.Max := RecordCount
2. ProgressBar1.Position := 0
3. Через определенный промежуток времени проверяем кол-во загруженныйх данных (как, не знаю). ProgressBar1.Position := Zagrujeno

-----------------------------------------------------------------------------
Цитата:
Сообщение от evg_m
И человеку(пользователю) ВСЕГДА нужны все эти 400 000 ?
Да нужны все. Просмотр каждой записи в течении всего ОДНОЙ СЕКУНДЫ займет более 100 (СТА ЧАСОВ) или около 4 суток(по 24 часа в сутки)

Не грузить при старте ничего, и дать пользователю средства для указания (формирования условий отбора) действительно нужных данных.
+100

Последний раз редактировалось Sibedir; 09.04.2013 в 13:31.
Sibedir вне форума Ответить с цитированием
Старый 09.04.2013, 13:51   #12
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Не грузить при старте ничего, и дать пользователю средства для указания (формирования условий отбора) действительно нужных данных.
+ 100
ТС, прислушайся к этому совету. Правильный он

+ еще почитать в сторону частичного фетча данных. если уже и хочется грузить всё - то так будет гораздо комфортнее
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 09.04.2013 в 13:53.
Yurk@ вне форума Ответить с цитированием
Старый 09.04.2013, 15:51   #13
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

400 000 записей не так уж и много. Видимо не оптимизированный код.
Цитата:
Не грузить при старте ничего, и дать пользователю средства для указания (формирования условий отбора) действительно нужных данных.
+100)
Kix.IV вне форума Ответить с цитированием
Старый 09.04.2013, 16:58   #14
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Вот так работает, но прогресс достиг уже максимального значения, а программа еще не запустилась.
Конечно, она ПРОСТО ждет пока закончится прогрессбар
Цитата:
Код:
  while SplashForm.Timer1.Enabled do // ждем пока не освободится splachform
    Application.ProcessMessages;
а она освободится только по исчерпании Progressbar'а
Код:
progressbar1.position:=progressbar1.position+10;
  if  ProgressBar1.Position=100 then Timer1.Enabled := false;
И только после этого (после того как пройдет прогрессбар идет загрузка форм, и данных в т.ч.)
Цитата:
Код:
  Application.Title := 'Terminal com port';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TMainForm, MainForm);
  Application.CreateForm(TSQLForm, SQLForm);
  Application.CreateForm(TOptionForm, OptionForm);
  Application.CreateForm(TFindForm, FindForm);
  Application.CreateForm(TResultForm, ResultForm);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.CreateForm(TForm5, Form5);
  Application.CreateForm(TForm6, Form6);
вариант
Код:
  SplachForm.Progress.max:=10;
  splachform.Progress.pos:=0;
  splachform.update;
//  application.processmessages;//возможно будет работать и без этого 
              Application.Title := 'Terminal com port';
              Application.CreateForm(TForm1, Form1);
  splachform.progress.pos:=1;
  splachform.update;
//  application.processmessages;
  ....
              Application.CreateForm(TForm6, Form6);
  splachform.Progress.pos:=10;
  splachform.update;
//  application.processmessages;

  ...Hide;
  ...Free;
  ...Run;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 09.04.2013 в 17:06.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Divizion by zero - при старте программы trigger Помощь студентам 1 23.02.2011 18:20
прорисовка формы при старте designer999 Общие вопросы Delphi 3 12.11.2010 01:33
запуск программы при старте windows Izlom Помощь студентам 10 03.07.2010 17:05
При старте програмы KoBRaAndrey Общие вопросы Delphi 9 04.10.2009 15:46
создание dll при старте приложения и удаление при завершении TyoshA Общие вопросы Delphi 7 13.07.2009 13:56