dataset и progressbar

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
asimpsons
Сообщения: 2
Зарегистрирован: 27 июл 2009, 08:26

Всем добрый день!
Помогите, не могу связать dataset и progressbar между собой. не знаю куда ставить inc() и где взять max. Вот примерный код:
procedure TfmMain.sbShowmayqClick(Sender: TObject);
begin
with dm do
begin
qSubGR.close;
qSubGR.sql[3]:='where t.n_gr='''+qGR.fieldbyname('n_gr'). AsString+'''';
qSubGR.sql[39]:='substring(r.n_mat,1,2)='''+qGR.f ieldbyname('n_g r').AsString+'''';
qSubGR.active:=true;
end;
end;
ЗЫ delphi 5, бд absolute database
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

&quot писал(а):связать dataset и progressbar между собой
а что должен показывать прогрессор?
Изображение
asimpsons
Сообщения: 2
Зарегистрирован: 27 июл 2009, 08:26

естественно я не хочу чтоб он мне показал сальто, свою функцию то есть при загрузке данных с БД отображать ход загрузки.
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

процесс фетча на клиента? неа, не выйдет.
не дёргать же с сервера по одной записи только ради того, чтобы вывести прогрессор, да и выдёргивать последовательно записи по одной не тривиальная задача
Изображение
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Вариант пустить загрузку из базы в отдельном потоке, а в основном в этом время высвятить, к примеру WaitDialog или свой самописный сплэшик с сообщением о том, что следует подождать, в котором будет производится message pumping.

В этом случае по крайней мере не будет проблем с белыми неперирисованными квадратами в UI.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить