|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.12.2008, 13:49 | #1 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 476
|
поток и progressbar
может у кого-нибудь есть пример использования потока и progressbar
например: копирование файла... чтобы progressbar отображал насколько скопирован файл... заранее благодарен
Life if about choices
Make the right choice |
26.12.2008, 12:05 | #2 |
.NET-чик
Форумчанин
Регистрация: 24.03.2007
Сообщений: 569
|
для простых операций вам хватит BackgroundWorker-а
Код:
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок |
27.12.2008, 01:33 | #3 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 476
|
как передать процент выполнения на прогресбар?
Life if about choices
Make the right choice |
27.12.2008, 01:35 | #4 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 476
|
и как привязать эти функции к какому либо процессу?
может есть отдельный пример... в архиве.
Life if about choices
Make the right choice |
27.12.2008, 18:25 | #5 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
писать код не буду, уж пардон....... но идея такая..... внутри нового потока создается переменная, в которую в процессе выполнения этого потока передаешь данные (проценты например), запускаешь поток и таймер с малым интервалом.... в событии таймера устанавливаешь процент програссбара равным созданной в потоке переменной..... Я делал так всегда. И нормально)
Надо бы избавиться от привычки ставить многоточие.....
|
27.12.2008, 18:55 | #6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Вот как-то так с воркером
|
27.12.2008, 19:55 | #7 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 476
|
pu4koff, спасибо, из твоего примера всё понятно
вчера слил с msdn пример воркера прога вычисляет число фибоначи... так из неё не понятно как это всё работает
Life if about choices
Make the right choice |
29.12.2008, 00:20 | #8 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 476
|
pu4koff, а как его связать скажем с File.Copy()???
Life if about choices
Make the right choice |
29.12.2008, 00:21 | #9 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 476
|
кстати в твоём примере если цикл сделать не 100 а 101, то вылетает ошибка т.к. прогрессбар 101 не поддерживает
Life if about choices
Make the right choice |
29.12.2008, 09:33 | #10 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
никак.
Копирование делать примерно так: 1) Создаём новый файл 2) Копируем из исходного файла килобайт данных (килобайт можете по своему усмотрению поменять на другой объём) 3) Записываем в новый файл этот килобайт информации 4) В прогрессбаре указываем сколько процентов прошло (размер исходного файла и записанный в новый файл объем информации мы знаем). 5) Проверяем. не отменил ли пользователь операцию и если что удаляем новый файл и выходим 6) Переходим на шаг 2, если исходный файл еще не кончился |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поток | Черничный | Общие вопросы Delphi | 5 | 27.09.2008 21:23 |
Поток в никуда... | prizrak1390 | Работа с сетью в Delphi | 1 | 30.06.2008 10:32 |
Убить поток | Баламут | Общие вопросы Delphi | 3 | 22.03.2008 05:04 |