IfNull
The IfNull function checks the variant aValue1, and if it is null (it has a vartype equal to 1), then it will return the replacement value of aValue2.
If aValue1 is not null, then it will return its own value aValue1.
A variable can be forced to null.
Please also review IfEmpty and also the String Function IfBlank.
Declaration: Function IfNull( const aValue1, aValue2 : Variant) : Variant;
Several examples are illustrated in the following.
procedure
ScriptEvent (
var
Value : variant);
var
aVarVar, bVarVar, cVarVar : variant;
begin
aVarVar := null;
//aVarVar is set to NULL
LogInfo(
'aVarVar = '
+IntToStr(VarType(aVarVar)));
//NULL variant variable returns a VarType of 1
bVarVar :=
'Test'
;
//bVarVar is set to 'Test'
LogInfo(
''
);
LogInfo(
'1st pass . . .'
);
cVarVar := IfNull(aVarVar,
'Param1 is null'
);
LogInfo(
'bVarVar = '
+bVarVar);
//bVarVar is 'Test'
LogInfo(
'cVarVar = '
+cVarVar);
//cVarVar is 'Param1 is null'
LogInfo(
''
);
LogInfo(
'2nd pass . . . '
);
cVarVar := IfNull(aVarVar, bVarVar +
' result!'
);
//aVarVar is NULL
LogInfo(
'bVarVar = '
+bVarVar);
//bVarVar is 'Test'
LogInfo(
'cVarVar = '
+cVarVar);
//cVarVar is 'Test result!' (ie. bVarVar+' result!')
LogInfo(
''
);
LogInfo(
'3rd pass . . . '
);
cVarVar := IfNull(aVarVar,
'Result!'
);
//aVarVar is NULL
LogInfo(
'bVarVar = '
+bVarVar);
//bVarVar is 'Test'
LogInfo(
'cVarVar = '
+cVarVar);
//cVarVar is 'Result!'
LogInfo(
''
);
LogInfo(
'4th pass . . . '
);
cVarVar := IfNull(null,
'Param1 is the CONST null!'
);
//Param1 is 'null'
LogInfo(
'bVarVar = '
+bVarVar);
//bVarVar is 'Test'
LogInfo(
'cVarVar = '
+cVarVar);
//cVarVar is 'Param1 is the CONST null!'
LogInfo(
''
);
LogInfo(
'5th pass . . . '
);
cVarVar := IfNull(
'We are Param1'
,
'We are Param2!'
);
//Param1 is 'We are Param1'
LogInfo(
'bVarVar = '
+bVarVar);
//bVarVar is 'Test'
LogInfo(
'cVarVar = '
+cVarVar);
//cVarVar is 'We are Param1'
end
;