Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.07;
Скачать: CL | DM;

Вниз

Как сделать "бесконечный" ProgressBar?   Найти похожие ветки 

 
cruiser ©   (2008-10-29 21:50) [0]

Здравствуйте уважаемые мастера! Подскажите, как можно реализовать сей сабж.


 
Сергей М. ©   (2008-10-29 22:00) [1]

Оттяпать ему конец - и всех делов ..


 
Johnmen ©   (2008-10-29 22:00) [2]

Как "небесконечный" уже знаешь?


 
Сергей М. ©   (2008-10-29 22:03) [3]

Ох и веселуха сейчас будет)..

Гусары, молчать !!
Жень, ты  - первый гусар))


 
cruiser ©   (2008-10-29 22:05) [4]

Всё шутите. Ладно. Вопрос снимаю.


 
Anatoly Podgoretsky ©   (2008-10-29 22:08) [5]

> Сергей М.  (29.10.2008 22:00:01)  [1]

И по самую шею.


 
Сергей М. ©   (2008-10-29 22:09) [6]


> Anatoly Podgoretsky ©   (29.10.08 22:08) [5]


Он уже по колено испугался) ..


 
Сергей М. ©   (2008-10-29 22:11) [7]


> cruiser ©   (29.10.08 22:05) [4]


Конец жалко , да ?


 
cruiser ©   (2008-10-29 22:14) [8]

Когда конец по колено, то не страшно :)


 
Johnmen ©   (2008-10-29 22:17) [9]


> Сергей М. ©   (29.10.08 22:03) [3]
> Ох и веселуха сейчас будет)..

Это мы завсегда готовы :)


 
Сергей М. ©   (2008-10-29 22:20) [10]


> cruiser ©   (29.10.08 22:14) [8]


Видимо, тебе действительно по колено.

Иначе бы ты обеспокоился тем что прозвучало в твоем вопросе.


 
Virgo_Style ©   (2008-10-29 22:26) [11]

свернуть его в ленту Мебиуса.

Телепатор подсказывает, что это нижний вариант на картинке:
http://www.essentialobjects.com/screenshots/progressbar.gif


 
cruiser ©   (2008-10-29 22:36) [12]


> Virgo_Style ©   (29.10.08 22:26) [11]
> свернуть его в ленту Мебиуса.
>
> Телепатор подсказывает, что это нижний вариант на картинке:
>
> http://www.essentialobjects.com/screenshots/progressbar.
> gif

Вот то что и надо на самом деле


 
cruiser ©   (2008-10-29 22:41) [13]


> Сергей М. ©   (29.10.08 22:20) [10]
>
> > cruiser ©   (29.10.08 22:14) [8]
>
>
> Видимо, тебе действительно по колено.
>
> Иначе бы ты обеспокоился тем что прозвучало в твоем вопросе.
>

Это выражение "бесконечный" progressbar - моё понимание того, что у этого компонента  увеличивается position не от каких-то условий (происходящего процесса)  и возвращается на позицию 0 и так по кругу? а независимо не от чего, тобиш просто запускается цикл от 0 до 100 и по кругу, пока не завершится работа потока в котором находится данный код


 
Сергей М. ©   (2008-10-29 22:43) [14]


> cruiser ©   (29.10.08 22:36) [12]


А где там "бесконечность" ?

И справа и слева - везде конец ..

Двуконечина, я бы даже сказал ..

Ы ?


 
Сергей М. ©   (2008-10-29 22:45) [15]


> независимо не от чего, тобиш просто запускается цикл от
> 0 до 100 и по кругу


Ну и с какого же боку при этом какой-то там безвинно оскоплённый Progressbar &


 
cruiser ©   (2008-10-29 22:52) [16]


> Сергей М. ©   (29.10.08 22:45) [15]

Вопрос прост: в прогресс бар увиличиваем position от 0 до 100, затем снова переходитм на 0 и увеличиваем position до 100. так по кругу. подскажите как сделать ?


 
Сергей М. ©   (2008-10-29 23:02) [17]

Да вот прямо так и сделать...


 
cruiser ©   (2008-10-29 23:06) [18]

Спасибо :) Очень информативные ответы :)


 
cruiser ©   (2008-10-29 23:07) [19]

Форум из "Начинающим" можно переименовывать в "Стёб над начинающими" :) И правило форума вверху можно убрать совсем :) Ладно, пойду поищу подсказку в более адекватном месте...


 
Сергей М. ©   (2008-10-29 23:39) [20]


> cruiser ©   (29.10.08 23:07) [19]



> можно переименовывать


Вот твоего высочайшего соизволения как раз и не хватало.


> пойду поищу подсказку в более адекватном месте.


Ну что тебе сказать ?

Дуй до горы пока трамваи ходят)

По сути - что тебе, обидчивый, не понятно конкретно ?


 
Сергей М. ©   (2008-10-29 23:49) [21]


> тобиш просто запускается цикл от 0 до 100 и по кругу


Ну И ?

ProgressBar - это всего лишь один из возможных вариантов визуального изображения твоего алгоритма а-ля "тобиш просто .. цикл .. от .. до .. по .."  !


 
cruiser ©   (2008-10-29 23:50) [22]

Ну не обидчивый я :)
Вот что непонятно. Делаю так:

procedure TForm1.Button1Click(Sender: TObject);
begin
Thread2:=TMyThread2.Create(False);
Thread2.priority:=tpNormal;
end;

procedure TMyThread2.Execute;
begin
while true do
begin
prcount:=prcount+1;
if prcount>100 then prcount:=0;
end;
end;


На этом у меня дальше мысль не идет. Не могу зациклить поток или сам код в котором постоянно будет увиличение position...


 
cruiser ©   (2008-10-29 23:53) [23]

Куда вставить строку кода progressbar1.position:=thread2.prcount; чтобы получился цикл?


 
cruiser ©   (2008-10-30 00:11) [24]

В общем нашел ответ, вдруг кому-то тоже надо будет это:
Обязательно подключаем XP манифест и тогда работает:
Windows.SetWindowLong(ProgressBar1.Handle, GWL_STYLE,
   Windows.GetWindowLong(Progressbar1.Handle, GWL_STYLE) or $08);
SendMessage(ProgressBar1.handle, WM_USER + 10, WPARAM(True), 70);


Последний параметр (на данный момент 70) определяет задержку "бегунка" в мс.


 
Германн ©   (2008-10-30 00:40) [25]


> Обязательно подключаем XP манифест и тогда работает

Свят, свят, свят. Упаси нас Дельфи от манифестов всяких! :)
А чем "песочные часы" хуже "бесконечного ProgressBar"а" ?


> Куда вставить строку кода progressbar1.position:=thread2.
> prcount; чтобы получился цикл?

В OnTimer простого таймера в основном потоке.


> Это выражение "бесконечный" progressbar - моё понимание
> того, что у этого компонента  увеличивается position не
> от каких-то условий (происходящего процесса)  и возвращается
> на позицию 0 и так по кругу? а независимо не от чего, тобиш
> просто запускается цикл от 0 до 100 и по кругу, пока не
> завершится работа потока в котором находится данный код

Это стандартный progressbar IE. См. выше про OnTimer. Остаётся только научиться в основном потоке узнавать, что доппоток завершился.


 
cruiser ©   (2008-10-30 00:43) [26]


> > Обязательно подключаем XP манифест и тогда работает
>
> Свят, свят, свят. Упаси нас Дельфи от манифестов всяких!
>  :)
> А чем "песочные часы" хуже "бесконечного ProgressBar"а"
> ?

так красивее :)

> > Куда вставить строку кода progressbar1.position:=thread2.
>
> > prcount; чтобы получился цикл?
>
> В OnTimer простого таймера в основном потоке.

ставил, но получается, что поток выдает значения, а онтаймер их берет но не последовательно и получается рывками а не плавно

> Это стандартный progressbar IE.

согласен. это то - что надо.


 
cruiser ©   (2008-10-30 00:47) [27]


> Это стандартный progressbar IE

только нет его в компонентах Delphi 7 , а так проще. Нашел я код компонента, инсталлировал его в делфи - когда надо включаю, когда закончился процесс вычислений - выключаю.


 
Германн ©   (2008-10-30 01:05) [28]


> ставил, но получается, что поток выдает значения, а онтаймер
> их берет но не последовательно и получается рывками а не
> плавно

Плохо ставил, имхо. Не учитывая приоритет сообщения WM_Timer и приоритет доппотока.


> только нет его в компонентах Delphi 7

И слава Дельфи, что нет! На такой обман народа способна только MS. :)


> так красивее :)

Фигня. Красивее у меня в моём компоненте. Но это моё НоуХау 8-ми летней давности. :)


 
Johnmen ©   (2008-10-30 11:51) [29]

Чиста настоящие программисты всегда начинают с батонокидательства, инсталляции красивых компонентов, праздничных бантиков. Впрочем, и заканчивают тем же...



Страницы: 1 вся ветка

Текущий архив: 2008.12.07;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.015 c
2-1224855789
worldmen
2008-10-24 17:43
2008.12.07
Неполучается обрабоать кнопку TUpDown


2-1225433373
Sorry
2008-10-31 09:09
2008.12.07
Главная форма поверх остальных...


4-1201620694
kaif
2008-01-29 18:31
2008.12.07
Кодировки ASCII


2-1225103320
Zhekson
2008-10-27 13:28
2008.12.07
Горячие клавиши для активного приложения


2-1225037381
redlord
2008-10-26 19:09
2008.12.07
потоко независимые классы