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

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

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

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

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


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

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

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


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