Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с ProgressBar 
:(
    Опции темы
Walkman
Дата 29.9.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.9.2005

Репутация: нет
Всего: нет



Ребята, подскажите, как избавиться от такой проблемы.
Копирую группу файлов, делаю два ProgressBar: один показывает текущий файл, второй - общий прогресс. ProgressBar2.Max задаю как общий объем всех копируемых файлов, но он больше, чем Integer, поэтому имею глюк с отображением - полоса сразу вся заполнена. Тут бы использовать Int64, но я не знаю, как это сделать для ProgressBar. smile
PM MAIL   Вверх
Bes
Дата 29.9.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 5
Всего: 7



а ты вычисляй положение прогрессбара в процентах от общего количества.
Встречный вопрос, а как ты прогессбар к копированию файла приделал?
PM MAIL   Вверх
Albinos_x
Дата 29.9.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



наверно, тебе проще использовать масшиабирование...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Walkman
Дата 29.9.2005, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.9.2005

Репутация: нет
Всего: нет



Цитата(Bes @ 29.9.2005, 11:19)
а ты вычисляй положение прогрессбара в процентах от общего количества.
Встречный вопрос, а как ты прогессбар к копированию файла приделал?

Вариантов несколько, видел в delphikingdom цеплялку к CopyFileEx, но мне она не подходит, поэтому дела через BlockRead/BlockWrite.
Добавлено @ 11:42
Цитата(Albinos_x @ 29.9.2005, 11:27)
наверно, тебе проще использовать масшиабирование...

Тут непонятка еще одна осталась... Я залез в исходник VCL, поправил там все Integer на Int64, но почему-то Position по-прежнему не работает, как надо (и только он!) smile
PM MAIL   Вверх
z-END
Дата 29.9.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



Walkman несоветую тебе даелть так как ты деалешьsmile
вот правильное решение:
Цитата(Bes @ 29.9.2005, 12:19)
а ты вычисляй положение прогрессбара в процентах от общего количества

прикинь если максимальное значение, скажем миллион, а из этого миллиона реально нужно только 100 (для составляения процентоного выполняеия работы), т.е. остальные 999 тысяч 900 операций будут просто лишними...
скажем так от общего размера файлов выщитай сколько будет 1 процент и веди учет общего количества скопированного объема, и проверяй сколько это процентов, если больше чем в прогресс баре то изменяй значение...
или например выщитай сколько раз нужно совершить операцию копирования чтобы процентное соотношение изменилось на 1% и посто считай скольок раз выполнял BlockWrite. как достигло вышитанного значения добавляй в прогресс бар+1, а счетчик обнуляйsmile


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Walkman
Дата 29.9.2005, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.9.2005

Репутация: нет
Всего: нет



Цитата(z @ 29.9.2005, 12:14)
Walkman несоветую тебе даелть так как ты деалешьsmile
вот правильное решение:
Цитата(Bes @ 29.9.2005, 12:19)
а ты вычисляй положение прогрессбара в процентах от общего количества

прикинь если максимальное значение, скажем миллион, а из этого миллиона реально нужно только 100 (для составляения процентоного выполняеия работы), т.е. остальные 999 тысяч 900 операций будут просто лишними...
скажем так от общего размера файлов выщитай сколько будет 1 процент и веди учет общего количества скопированного объема, и проверяй сколько это процентов, если больше чем в прогресс баре то изменяй значение...
или например выщитай сколько раз нужно совершить операцию копирования чтобы процентное соотношение изменилось на 1% и посто считай скольок раз выполнял BlockWrite. как достигло вышитанного значения добавляй в прогресс бар+1, а счетчик обнуляйsmile

Это понятно smile Непонятно, почему с Int64 не работает эта редиска.
PM MAIL   Вверх
_hunter
Дата 29.9.2005, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



потому как изменений в исходниках мало ( они, вообще-то, только при отладке и используются ) -- нужно еще и VCL пересобрать. а этого сделать нельзя.
поэтому реализуй масштабирования ( так, кстати, и работать будет чуть быстрее )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Walkman
Дата 29.9.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.9.2005

Репутация: нет
Всего: нет



Цитата(_hunter @ 29.9.2005, 13:51)
потому как изменений в исходниках мало ( они, вообще-то, только при отладке и используются ) -- нужно еще и VCL пересобрать. а этого сделать нельзя.
поэтому реализуй масштабирования ( так, кстати, и работать будет чуть быстрее )

Пересобрал, однако. smile

Масштабирование сделал, но все-таки это не то...
PM MAIL   Вверх
_hunter
Дата 29.9.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



??? smile что пересобрал??? VCL?

что значит "не то"? все так делают и у них то...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Alex
Дата 29.9.2005, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Bes @ 29.9.2005, 12:19)
Встречный вопрос, а как ты прогессбар к копированию файла приделал?

Модератор: Пожалуйста, один топик - один вопрос.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
ДЫМ
Дата 30.9.2005, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: 8
Всего: 8



Цитата(_hunter @ 29.9.2005, 15:52)
???  что пересобрал??? VCL?


А что ты так удивился?

PM MAIL WWW   Вверх
_hunter
Дата 30.9.2005, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



то, что для это операции необходимы исходники, которых ( насколько мне известно ни у кого нет ( кроме борланда ) )...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1724 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.