powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Progress bar
13 сообщений из 13, страница 1 из 1
Progress bar
    #32232074
Alexander Lysenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать ход отображение добавления данных в базу, в виде прогресс бара, т.е. показывать процент от выполненой оперции... что то не пойму
...
Рейтинг: 0 / 0
Progress bar
    #32232102
NightSpider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брррр... Что-то не совсем понятно, что тебе нужно.
Ну, ставишь прогрессбар, значение мах устанавливаешь на количество записей, которое тебе нужно добавить, position ставишь на нуль, а потом при добавлении записи делаешь ProgressBar1.position:=ProgressBar1.position+1 и если нужно, то ProgressBar1.Repaint
...
Рейтинг: 0 / 0
Progress bar
    #32232387
Alexander Lysenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry действительно не так вопрс поставил, мне нужно в прогресс баре отобразить ход выполнения Query.Open; вот, читал в FAQ тама оворят что такое сделать невозможно...... но я видел в программах такое!
А насчет Position я знаю Спасибо
...
Рейтинг: 0 / 0
Progress bar
    #32232402
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нууу... на морде программы я тебе и не такое нарисую :))
будешь видеть как грибы в америке растут.... ядерные

а если видел исходник, то надо было и полюбопытствовать как сделали...
как вариант (чисто теоретически)...
клиент зовет ХП, а сервер ему переодически шлет сигналы (в IB есть такое), клиент по ним определяет стадию выполнения ХП...

может конечно у кого более продуктивные мысли есть...
...
Рейтинг: 0 / 0
Progress bar
    #32232413
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
более продуктивные мыли были бы, если б было указано, про какой sql server идет речь
...
Рейтинг: 0 / 0
Progress bar
    #32232455
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
В TQuery (на open) это действительно невозможно сделать.
То, что ты видел - скорее всего показывало % передачи данных на клиента.

Можно сделать разными способами:
1) проще всего - сначала получить count(*), а затем в цикле считывать данные (при fetch=1 тормоза будут дикие, но зато вполне правдоподобный прогресс бар получится).
2) сложнее - возвращать данные через ХП и посылать event`ы клиенту на изменение прогресс бара.

Или еще как-нибудь...


--------------------------------------------------------------------------
Чтобы не мучиться с этим, MS показывает мультики на операциях с файлами.
...
Рейтинг: 0 / 0
Progress bar
    #32232470
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o! мультики - это правильное решение :)
...
Рейтинг: 0 / 0
Progress bar
    #32232488
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать можно, но нужно использовать низкоуровневые функции BDE, чтобы получить обратный вызов при открытии запроса. В библиотеке RX есть даже такой компонент DBProgress. В большинстве случаев его хватает. А поскольку RX идёт с исходниками, то можно там глянуть как они это делают, если нужно что-то своё. Только в доке к BDE сказано, что обратный вызов работает не со всеми источниками данных и не во всех случаях. Для некоторых запросов BDE обратный вызов сформировать не может.

Теоретически подобный механизм есть и в ADO при работе с MS SQL Server, но как его задействовать не знаю. По крайней мере встерчал упоминание о том, что MS SQL Server посылает клиенту сообщения о ходе выполнения запроса и можно этот механизм отключить. Да и в собственных продуктах MS эта возможность реализована. В том же Query Analizer есть progress bar, показывающий формирование запроса.
...
Рейтинг: 0 / 0
Progress bar
    #32232538
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мультики?...
например "Том и Джери"... я думаю будет веселее чем мелкософтовский...
...
Рейтинг: 0 / 0
Progress bar
    #32232568
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри на SQL форуме - там много было про АДО...
Но отобразить нормально можно только пересылку данных на клиента, обработка ХП на сервере - вещь слабо отображаемая :-)
...
Рейтинг: 0 / 0
Progress bar
    #32232657
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik Prokoshin

Могу еще более испортить жизнь.... автор изначально не уточнял что у него проца... а обычный запрос проверять степень его выполнения... чего-то не видел я такого...
...
Рейтинг: 0 / 0
Progress bar
    #32233032
Alexander Lysenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок спасибо всем за ответы, к сожалению исходников той программы я не видел :(((
ЛАдно что нибудь придумаю другое
Еще раз спасибо!
...
Рейтинг: 0 / 0
Progress bar
    #32233039
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 StarWind:
Автор же написал, что его интересует процесс Open. Это как раз получение данных на клиента. Т.е. можно сделать рисование прогрессбара на обработке событий OnFetchProgress. Если там, конечно, не ХП, о чем уже было сказано...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Progress bar
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]