С помощью объектов на Паскале нужно решить следующую задачу: "Создать объект "Progressbar", имеющий следующие свойства: отображающий прогресс какого-либо процесса в виде постепенно закрашиваемой линии. Окно должно иметь изменяемые размер, координаты верхнего левого угла, цвет. От этого объекта создать дочерний объект, в котором кроме закрашиваемой линии присутствует число, отображающее количество процентов от выполненной работы". Пожалуйста, кто знает как это сделать, то помогите.
volvo
18.11.2006 20:51
Создай объект вот такого типа:
(выдрано из одной очень старой моей поделки, у меня TPercentBar унаследован от общего для всех объектов предка, для удобства обработки... Можешь сделать так же, можешь оставить без наследования, если это тебе не нужно, дело твое...)
SetWriteMode( XorPut ); For ix := xs To Pred(xf) Do Line( ix, ySt + Fresh, ix, yFn - Fresh ); SetWriteMode( CopyPut ) End;
Procedure TPercentBar.Show; var new_value: integer; Begin TSquare.Show;
{ !!! Обновить curr !!! } new_value := ...
ShowBar( new_value ); End;
И в Show получай как-то новое отображаемое значение в процентах (если ты напишешь, откуда будешь его получать, я скажу, как именно это будет выглядеть полностью)...
Гость
19.11.2006 4:29
В общем, должно быть так, чтобы при подстановки в какой-либо процесс проценты отображались. То бишь отображаемое значение может быть любым.
Гость
19.11.2006 4:34
Заранее большущее спасибо за помощь. Завтра с утра встану и постараюсь разобраться в этой программе.
volvo
19.11.2006 4:37
Цитата
То бишь отображаемое значение может быть любым.
Ну, допустим, любым оно быть не может...
Отображаемое значение должно быть целым числом в интервале 0 .. 100 (меньше 0 и больше 100 процентов - глупость), но суть не в этом. Меня интересует, например, при сортировке массива, ОТКУДА ты знаешь, сколько процентов уже закончилось?
Гость
19.11.2006 18:02
Ну да, про проценты-то я понял. Знаешь, меня это теперь тоже интересует. В моём условии нет чёткого ответа на этот вопрос. Просто задано, что должны отображаться проценты в этом дочернем объекте. Тогда я постараюсь уточнить это на следующей неделе. А то, что ты мне написал работает без этого? Или там обязательно надо знать откуда берётся значение?
volvo
19.11.2006 20:25
Цитата
А то, что ты мне написал работает без этого? Или там обязательно надо знать откуда берётся значение?
Там, откуда я выдрал этот код, он использовался для индикации громкости/уровня сигнала, т.е. всегда было известно максимальное значение, а текущее (в процентах от MAX) отображалось в каждый момент времени...
Гость
20.11.2006 4:20
Понятно. В общем на неделе я постараюсь узнать поподробнее про задание и тогда напишу здесь. Спасибо уже за то, что помог мне.
Гость
24.11.2006 5:05
В общем, я спросил, но так чёткого ответа мне и не сказали. Короче, программа должна сама то ли постраиваться под любой процесс, то ли состыкововаться. Должно задаваться число от 1 до 100 и видимо с помощью этого как-то всё должно работать. Извини, я конечно понимаю, что мало что понятно, но я надеюсь, что мне кто-нибудь поможет с решением этой задачи.
Гость
24.11.2006 23:50
У меня тут проблемка с задачей. При компиляции в строке TPercentBar = Object(TSquare) пишет что Error 3:Unknown identifier.
volvo
25.11.2006 0:16
Правильно пишет... Объект-предок я не выкладывал. ЗА ТЕБЯ решать задачу тоже не буду... Нужно - разберешься по коду, который я привел.
Гость
25.11.2006 1:12
Понятно тогда. Я просто подумал, что тут полное решение. Ну теперь понятно хоть, как дальше делать. Спасибо за идею задачи, ты мне очень помог.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.