![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функция заглючила [D6, WinXP]
Rogis © (2005-08-30 10:37:00)Храню я функцию проверки даты в модуле.
Все прекрасно работало.
Но в один момент она перестала работать, я уже сто раз проверял ее с другими своими кодами - она абсолютно не изменилась.
Загрузил резервную копию, которая была до изменений и добавления других функций в программу, думал, может что забажело, но нет, это функция и в резервной копии больше не работает.
В чем может быть проблема?
Функция проверяла сегодняшнюю дату, и ту, которую нужно было,
и сравнивала.
Если Сегодняшняя дата равна нужной, или больше, то тогда возвращала ТРУ!
А у меня она постоянно возвращает тру!
Rogis (2005-08-30 14:23:00) [1]Эй, Ega23 Че та у меня удаляется?
Ega23 (2005-08-30 12:28:00) [2]2 Rogis (30.08.05 10:37)
А ты уверен в том, что твоя программа настолько супер-пупер, чтобы что-то там удалялось?
dmitry501 (2005-08-30 11:54:00) [3]Rogis (30.08.05 11:45) [5]
не может записать в реестр, или считать из него, возможно не хватает прав.
p.s.
Код перепишите, посмотрите как Вам советуют сделать. [3] [4]
begin...end (2005-08-30 11:52:00) [4]А, нет, извините. Ошибся.
begin...end (2005-08-30 11:51:00) [5]> Rogis (30.08.05 11:45) [5]
Это сравнение строк, а не дат. При таком подходе дата "20.08.2005" окажется больше, чем "10.09.2005".
Rogis (2005-08-30 11:45:00) [6]sniknik
Не дататайм, а просто дата!
Function ScanForDate(Day : String) : Boolean;
Var
DateKill : String;
Begin
IF KeyExists('DateKill') = False Then
WriteRegString('Date','DateKill',DateToStr(Date + StrToInt(Day)));
DateKill := ReadRegString('Date','DateKill','');
IF Date >= StrToDate(DateKill) Then Result := True Else Result := False
End;
begin...end (2005-08-30 11:16:00) [7]> Rogis (30.08.05 10:37)
> Функция проверяла сегодняшнюю дату, и ту, которую нужно
> было,
> и сравнивала.
См. в справке: функции CompareDate и CompareDateTime из модуля DateUtils.
sniknik (2005-08-30 10:55:00) [8]> Это примерно так?
;), тогда уж
function GetSegodnyaDataandNeSegodnya(_date:Tdatetime): boolean;
begin
result:= date() >= _date;
end;
(просто не представляю, чтобы датайм был реально чемуто когдато равно...)
Antonn (2005-08-30 10:39:00) [9]А хде код?
Это примерно так?
function GetSegodnyaDataandNeSegodnya(_date:Tdatetime):boolean;
begin
if now>=_date then result:=true else result:=false;
end;
Александр Иванов (2005-08-30 10:38:00) [10]Код выложи, телепатов нет.