Вниз
Скачать: CL | DM;

Не срабатывает действие....   Найти похожие ветки 

 
Pomestnik   (2005-01-11 22:47) [0]

procedure TForm1.Button1Click(Sender: TObject);
var
D : TDate;
S,F : string;
begin
S := DataModule7.DolgTable.Fields[2].Text;
D := date;
F := DateToStr(D);

if s = f then
ShowMessage( " Должен");

if StrToDate(f) > StrToDate(S) then;
label3.Caption := "ooo";
ShowMessage( "NO Должен");

end;

КОгда совпадает первое условие (s=f ) , тогда сообщение появляется
А вот когда совпадает второе условие(  StrToDate(f) > StrToDate(S)  ) , то сообщение не появляется, зато надпись на лейбле меняется.
Кто - нибудь знает из за чего это может быть?


 
Palladin ©   (2005-01-11 22:50) [1]

грубая ошибка. форматируй нормально код и больше не будешь их допускать

if StrToDate(f) > StrToDate(S) then;


 
Pomestnik   (2005-01-11 23:05) [2]

Не в этом (хотя мой касяк это не заметил!!) дело

if StrToDate(f) > StrToDate(S) then
ShowMessage( " Не отдал ");
label3.Caption := "33333333";

if StrToDate(s) = StrToDate(f) then
ShowMessage(" Должен сегодня отдать ");

ВСё равно только на лэйбл текст выводит(значит условие совпадает)


 
Anatoly Podgoretsky ©   (2005-01-11 23:16) [3]

Нет условие не совпалает, вывод ведется всегда вне зависимости от условия.


 
Palladin ©   (2005-01-11 23:19) [4]

Какое условие?

текст выведет в любом случае, он никаким условием не контролируется. это первое, второе: ты думаешь сравнивая строковое представление дат ты сравниваешь сами даты?


 
Palladin ©   (2005-01-11 23:21) [5]

Второй пункт отменяется. StrToDate был визуально воспринят с точностью до наоборот...


 
Pomestnik   (2005-01-12 11:26) [6]

Тут у меня просто сравниваются дата введнённая в таблице с
"сегодняшней" датой...
Даты же можно сравнивать?


 
Neznaika ©   (2005-01-12 12:48) [7]


> if StrToDate(f) > StrToDate(S) then;
> label3.Caption := "ooo";
> ShowMessage( "NO Должен");


REPLACE

if StrToDate(f) > StrToDate(S) then begin
label3.Caption := "ooo";
ShowMessage( "NO Должен");
end;


 
Anatoly Podgoretsky ©   (2005-01-12 12:50) [8]

Даты можно сравнивать, но ты же сравниваешь не даты, а строки, при том одна из них неизвестна.


 
Neznaika ©   (2005-01-12 12:57) [9]


> Anatoly Podgoretsky ©   (12.01.05 12:50) [8]

По-моему он сравнивает даты => StrToDate(f);
Что там не известно?


 
Anatoly Podgoretsky ©   (2005-01-12 13:10) [10]

Неизвестно это "DataModule7.DolgTable.Fields[2].Text;" кроме того это не дата, а строка.


 
Neznaika ©   (2005-01-12 13:15) [11]


> кроме того это не дата, а строка.


Повторюсь ...

StrToDate(S)
Ж(


 
Anatoly Podgoretsky ©   (2005-01-12 13:24) [12]

А я повторяюсь (нудное выделено
var
D : TDate;
S,F : string;
begin
S := DataModule7.DolgTable.Fields[2].Text;

Так что это не дата, а строка, а вот что в ней и неизвестно.


 
Neznaika ©   (2005-01-12 13:30) [13]

IMHO если StrToDate(S) прошло успешно, значит там дата...?
А сравниваем мы уже после конвертации полученные даты.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.031 c
14-1104818625
Чеширский_Кот
2005-01-04 09:03
2005.01.23
Когда в России закончатся праздники...


1-1104406951
den303
2004-12-30 14:42
2005.01.23
TButton+Glyph


10-1081171895
LittleSpo
2004-04-05 17:31
2005.01.23
COM и события


14-1105153780
Думкин
2005-01-08 06:09
2005.01.23
С Днем рождения! 8 января


3-1103521111
КаПиБаРа
2004-12-20 08:38
2005.01.23
Алгоритм реализации расчетов на основе БД




   Наверх