|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.03.2012, 17:27 | #21 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 66
|
Код:
Программа никогда не выдаст ShowMessage, если ее запустить в первый раз, например, 28 числа. Так как не учтено ограничение разных месяцев (февраль 28 дней, март 31 день, апрель 30 дней). Осталось только подправить, если, например, к числу 28 прибавить 5 равняется 33, а в месяце максимум 31 день! Вот как это все учесть? Последний раз редактировалось krikaved; 23.03.2012 в 17:40. |
23.03.2012, 18:05 | #22 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
эй, уважаемый!
не парьтесь с числами и месяцами. воспользуйтесь TodayDate:=Trunc(now); вы получите кол-во дней, прошедших с начала 19-го века. сохраните это число, например FirstDate = TodayDate. когда вы запустите программу снова, и она обнаружит свои записи в реестре, снова получаете TodayDate и вычитаете из него FirstDate. и получаете кол-во дней прошедших с первого запуска программы. и не важно 29 это февраля или 36 августа. кол-во дней - абсолютная величина. при желании его можно перевести в дату вида YYYY.MM.DD |
23.03.2012, 19:36 | #23 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Какой Trunc, какие Strtoint, какие числа, тут лучше использовать DaysBetween (подробности в справке), примерно так:
Код:
|
23.03.2012, 22:05 | #24 | |
Пользователь
Регистрация: 26.02.2010
Сообщений: 66
|
Цитата:
Код:
Последний раз редактировалось krikaved; 23.03.2012 в 22:13. |
|
23.03.2012, 23:15 | #25 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Код:
Чтобы использовать функцию DaysBetween надо в uses подключить модуль DateUtils Что за ошибка-то ? ну и где : рантайм или компайлтайм ? Ну и плюсом - зачем сохраняете дату отформатированной только в днях (причём , если не ошибаюсь, 5д это длинное название дня недели), не проще не форматить, или форматить только ддммгггг ? Последний раз редактировалось phomm; 24.03.2012 в 10:42. |
24.03.2012, 10:34 | #26 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
За флуд бы карточку красную вам, автор предыдущего поста!
По теме все проще. Запись времени: Код:
Код:
"ковыряю изнутри" (с)
Последний раз редактировалось Serge_Bliznykov; 27.03.2012 в 11:54. |
26.03.2012, 15:07 | #27 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 66
|
Спасибо большое phomm и 3D Hunter!
1) А вот по поводу реестра, если много процедур с ипользованием переменной Reg, нужно ли объявлять глобально переменую Reg (var Reg: TRegistry; ), или именно для использования реестра необходимо объявлять переменную Reg локально в каждой процедуре? 2) Почему я не везде могу добавлять новые разделы и параметры в реестре средствами Delphi 7, а вручную без Delphi могу добавлять где угодно. В HKEY_CURRENT_USER могу добавить раздел Prog, а в HKEY_LOCAL_MACHINE - нет. У меня Win7x64. Код:
Последний раз редактировалось krikaved; 26.03.2012 в 15:18. |
27.03.2012, 15:17 | #28 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
1. Лучше используйте локальные переменные в своих процедурах. Глобальные - плохой стиль программирования.
2. Потому что сидите без прав администратора. Да и в реестре есть защищенные ветви, в которые программы писать не могут.
"ковыряю изнутри" (с)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Закрытие программы | nikityan | Общие вопросы Delphi | 8 | 01.03.2012 00:33 |
Закрытие программы | SKS | Помощь студентам | 3 | 13.11.2011 15:39 |
Закрытие программы | ray_1k | Общие вопросы C/C++ | 12 | 09.07.2011 17:40 |
Закрытие программы | Byurrer | Общие вопросы C/C++ | 8 | 06.04.2011 17:44 |
Закрытие программы | Zloy_Doomer | Общие вопросы Delphi | 3 | 23.06.2008 19:08 |