Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

В чем разница между VarIsEmpty(NewVal) и VarIsNull(NewVal) ?   Найти похожие ветки 

 
kyn66 ©   (2006-09-21 12:15) [0]

Уважаемые мастера, помогите разобраться в данной ситуации. При добавлении или редактировании данных в таблице использую следующий код:

var
 NewVal, TmpVal  : Variant;
begin
 NewVal := ClientTblDoccod.NewValue;
 TmpVal := ClientTblDocser.NewValue;
 if ((not VarIsEmpty(NewVal)) or (not VarIsNull(NewVal))) and
    (NewVal = "01") and
    ((not VarIsEmpty(TmpVal)) or (not VarIsNull(TmpVal))) then
    St.Append("Сообщение об ошибке");
end;


Может что не так с синтаксисом? Если в режиме редактирование ставлю пустым поле для TmpVal, или оно изначально пустое, то срабатывает добавление ошибочного сообщения. Т.е. оно не должно добавляться, когда NewVal = "01" и TmpVal - пустое, а оно всеравно добавляется.


 
ЮЮ ©   (2006-09-21 12:27) [1]

когда NewVal = "01" и TmpVal - пустое оно и не NULL тоже.

((not VarIsEmpty(TmpVal)) or (not VarIsNull(TmpVal)))  всегда ИСТИНА


 
ЮЮ ©   (2006-09-21 12:39) [2]

NULL и Unasigned это ещё два возможных значения для Variant
VarIsEmpty(Unasigned) = true и false для других значений variant
VarIsNull(NULL) = true и false для других значений variant
Ни один variant не может быть сразу и NULL и Unasigned, поэтому
((not VarIsEmpty(TmpVal)) or (not VarIsNull(TmpVal))) ИСТИННО для люблго значения  TmpVal


 
umbra ©   (2006-09-21 15:23) [3]

VarIsClear(TmpVal) or VarIsClear(NewVal) or (NewVal = "01")



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

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
2-1162297517
vldm
2006-10-31 15:25
2006.11.19
Ресурсы и Delphi2006


2-1162488318
funky
2006-11-02 20:25
2006.11.19
Сколько макс. файлов можно загрузить в OpenDialog?


2-1162244867
!aLeXa!
2006-10-31 00:47
2006.11.19
Как послать форме сообщение maximize?


6-1149832597
Vavilon
2006-06-09 09:56
2006.11.19
Как перехватить клик по ссылке в IE?


3-1158676994
alehan
2006-09-19 18:43
2006.11.19
TIntegerField.EditMask