![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Progressbar
Grotesque © (2006-07-08 14:02:00)Здравствуйте! Как сделать, что бы при достижении максимального значения в Progressbar'е прога закрывалась? Выручайте товарищи!
Gero (2006-07-09 06:22:00) [1]> [11] PSPF2003 © (08.07.06 15:45)
> if progressbar1.position >= 99 then close;
Хватит бреда постить.
SerJaNT (2006-07-09 02:33:00) [2]
> Поэтому и должно всю управление быть из процесса, а не из
> его визуализации
Автор, видимо, решил сделать наоборот! =))
KilkennyCat (2006-07-09 02:28:00) [3]> [13] SerJaNT © (09.07.06 02:09)
прогрессбар всегда показывает процесс. для этого и создан. но показывать - это все, что он может. Сам процесс намного больше знает о себе, чем прогрессбар. Поэтому и должно всю управление быть из процесса, а не из его визуализации. Единственное оправдание такому подходу - в некоторых ситуациях экономия на глобальной переменной.
SerJaNT (2006-07-09 02:09:00) [4]
> и вообще, использовать прогрессбар как инициатор закрытия
> - некрасиво...
А может в проге автора при закрытии сохраняются какие-то данные а прогресс бар покзывает процесс?? Но это тоже геморойных подход...
DrPass (2006-07-08 17:26:00) [5]
> PSPF2003 © (08.07.06 15:45) [11]
Да я шучу в общем-то :)
PSPF2003 (2006-07-08 15:45:00) [6]if progressbar1.position >= 99 then close;
> Жутко некрасиво. Но с авторской задумкой спорить нельзя!
Не согласен, если автор новичок. Ему следует подсказать как лучше. Чтоб он шишки не набивал себе.
DrPass (2006-07-08 15:39:00) [7]Жутко некрасиво. Но с авторской задумкой спорить нельзя!
PSPF2003 (2006-07-08 15:37:00) [8]
> и вообще, использовать прогрессбар как инициатор закрытия
> - некрасиво...
Поддерживаю.
KilkennyCat (2006-07-08 15:23:00) [9]и вообще, использовать прогрессбар как инициатор закрытия - некрасиво...
Gero (2006-07-08 14:50:00) [10]> [6] DrPass © (08.07.06 14:41)
Если... Если рассматривать все «если», то есть случаи, когда и halt не сработает.
DrPass (2006-07-08 14:41:00) [11]
> KilkennyCat © (08.07.06 14:11) [4]
Не, если там дальше написано while true do;, то terminate не сработает. А halt сработает :)
Gero (2006-07-08 14:39:00) [12]then Application.MainForm.Close;
DrPass (2006-07-08 14:11:00) [13]Правильно писать
if progressbar1.position = progressbar1.max then halt;
KilkennyCat (2006-07-08 14:11:00) [14]if progressbar1.position = progressbar1.max then application.terminate;
KilkennyCat (2006-07-08 14:10:00) [15]> [1] SerJaNT © (08.07.06 14:03)
негарантированно.
SerJaNT (2006-07-08 14:03:00) [16]if progressbar1.position = 100 then close;