Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.03 c
3-1158571057
memo
2006-09-18 13:17
2006.11.19
BLOB поле


2-1162404089
Vladimir1984
2006-11-01 21:01
2006.11.19
как сохранить файл bmp из панели, используя SavePictureDialog


2-1161726542
aleko
2006-10-25 01:49
2006.11.19
путь к рабочему столу


15-1162213237
GanibalLector
2006-10-30 16:00
2006.11.19
PortMon -> Error : 2


3-1158810978
Merko2005
2006-09-21 07:56
2006.11.19
Как вычислить кол-во месяцев




   Наверх