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;