Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];

Вниз

Как сделать "бесконечный" 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.005 c
15-1223369022
Armond
2008-10-07 12:43
2008.12.07
Обновление таблички


15-1223001832
Slider007
2008-10-03 06:43
2008.12.07
С днем рождения ! 3 октября 2008 пятница


2-1225198907
kate158
2008-10-28 16:01
2008.12.07
буфер,дбгрид,навигация по записям


15-1223025464
keymaster
2008-10-03 13:17
2008.12.07
Где живут module attributes?


2-1224234351
Андрей
2008-10-17 13:05
2008.12.07
Выделение ячейкив DrawGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский