* AsString takes into account empty true or false. Fix issue #39371

This commit is contained in:
Michaël Van Canneyt 2022-01-14 10:05:28 +01:00
parent d9996607b8
commit fecc6db4c2
2 changed files with 12 additions and 1 deletions

View File

@ -2642,7 +2642,14 @@ var Temp : string;
begin
Temp:=UpperCase(AValue);
if Temp='' then
Clear
begin
if FDisplays[True,True]='' then
SetAsBoolean(True)
else if FDisplays[True,False]='' then
SetAsBoolean(False)
else
Clear
end
else if pos(Temp, FDisplays[True,True])=1 then
SetAsBoolean(True)
else if pos(Temp, FDisplays[True,False])=1 then

View File

@ -2731,6 +2731,10 @@ begin
CheckEquals('+',Fld.DisplayText,'Correct true');
Fld.AsBoolean:=False;
CheckEquals('',Fld.DisplayText,'Correct false');
Fld.AsString:='+';
CheckEquals(true,Fld.AsBoolean,'Correct true');
Fld.AsString:='';
CheckEquals(False,Fld.AsBoolean,'Correct False');
end;
procedure TTestDBBasics.TestSupportFloatFields;