|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.03.2016, 20:55 | #1 |
Пользователь
Регистрация: 24.02.2016
Сообщений: 22
|
Использование компонента "будильник" через ListBox
Здравствуйте, уважаемые форумчане! Очень нуждаюсь в вашей помощи.
Задача такая: есть созданный мной визуальный компонент будильник. Есть программа, которая его использует. Но там возможно только использовать один будильник. Надо реализовать как в смартфоне - возможность устанавливать несколько будильников. Компонент работает так. для вывода системного времени я наследовал метку TLabel. Через ее свойство Caption вывожу системное время. Есть два свойства OnRing булевого типа - включен будильник или нет и SetAlarm строкового типа. Сюда я записываю время звонка. В программе на форме размещаю DataTimePicker, из него беру время, перевожу в строковый тип. И в setAlarm записываю значение из DataTimePicker. То есть в моем первом варианте на форме есть только та самая метка, DataPicker и две кнопки - "Задать время" (она устанавливает поле OnRing в true и записывает в SetAlarm значение из DataPicker), и "Остановить". Я сейчас хотел добавить ListBox. Задумка: при нажатии на кнопку "Задать время" в ListBox будет добавляться новый будильник (то есть выводится время звонка), свойство OnRing ставится в true (то есть будильник включается), а в SetAlarm записывается время звонка из предварительного установленного в DataTimePicker. То есть по сути я мало что меняю, просто добавление будет через ListBox. Вот код компонента: Код:
Код:
1) Строка FAlarmList: TObjectList <TClockAlarm> здесь ругается Undeclared identifier: 'TObjectList' ';' expected but '<' found ',' or ':' expected but '>' found 2) Строка FAlarmList.Add(TClockAlarm.Create(s elf)); здесь ошибки Missing operator or semicolon 3) оператор try даже на него ругается ';' expected but 'TRY' found Делаю в Delphi 7 (старая версия, не ХЕ) |
27.03.2016, 21:10 | #2 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
27.03.2016, 21:23 | #3 |
Пользователь
Регистрация: 24.02.2016
Сообщений: 22
|
А чем тогда можно заменить? или как правильно будет организовать вывод нескольких будильников?
|
27.03.2016, 21:37 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для начала просто FAlarmList: TObjectList;
Где твои лэйблы для кучи будильников собираются отображаться?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
27.03.2016, 21:55 | #5 |
Пользователь
Регистрация: 24.02.2016
Сообщений: 22
|
Ну вот в этом одном ListBox'е будут отображаться. То есть ввожу время звонка в DataTimePicker, нажимаю кнопку "Задать". В ListBox заносится время звонка. То есть это будет первый будильник с заданными свойствами: при клике на кнопку "задать" мы занесли в его свойства время звонка и включили сам будильник.
Потом в DataTimePicker ставлю следующее время. Снова жму "задать" и в ListBox появляется второй будильник и т.д. Я уже думал, что сначала надо задать, как вы написали. Но что дальше делать, не могу даже предположить. К сожалению, опыт программирования маленький, с синтаксисом еще мало знаком А лейбл используется для отображения системного времени. Он должен быть один. Но как я понимаю, мне мою процедуру сейчас придется делить на две, чтобы лейблы не дублировать в ListBox'е? В одной отображается системное время. В другой - описывается работа будильника. Или не обязательно так делить? |
27.03.2016, 22:00 | #6 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Ой, ребяты, я ж такую весчь писал в 2009 году на Д7.
И даже немного тут в интернетах засветил. WorkerClocker называется. На работе до сих пор народ юзает... Афтор, хош посмотреть на мой говнокод? Там можно создать 100500 будильников! Бонус - прога говорит время. Но только по-русски. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
27.03.2016, 22:10 | #7 |
Пользователь
Регистрация: 24.02.2016
Сообщений: 22
|
До такого "говнокода" мне еще как до Луны ))) Пока сложновато. Несомненно завтра с утра ознакомлюсь подробнее. Может, подскажете, в каком направлении мне копать? А то чужой код копировать - к добру не приведет ))
|
27.03.2016, 22:13 | #8 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
страшно стало? Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
||
27.03.2016, 22:16 | #9 |
Пользователь
Регистрация: 24.02.2016
Сообщений: 22
|
В вашей программе свой разработанный компонент используется или все реализовано через стандартную палитру?
|
27.03.2016, 22:27 | #10 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Раньше (очень давно) я баловался написанием своих компонентов в том смысле, которые можно на форму положить и настроить через Object Inspector. Теперь довольствуюсь написанием только своих классов или даже иерархий классов. Писать визуальные компоненты приходится очень редко, и не устанавливаю я их в палитру никогда - они одноразовые все и заточенные под текущую задачу. Если откроешь модуль uClocker.pas, то увидишь это всё.
За годы работы у меня накопилась туева хуча левых компонентов, просто скачанных в разное время из интернетов. Jedi, Delphi Area, и ещё... Если чего-то не хватает - лезу на торри и там ищу. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование у формы свойства "Cycle" с "MultiPage" | Скрипт | Microsoft Office Excel | 7 | 23.12.2013 10:31 |
Visual Basic, использование операторов "for..next" и "if.. end if" | Dieza | Помощь студентам | 0 | 27.10.2010 20:46 |