What is the easiest way to convert a Boolean value into a String in an Inno Setup Pascal script? This trivial task that should be completely implicit seems to require a full-blown if
/else
construction.
function IsDowngradeUninstall: Boolean;
begin
Result := IsCommandLineParamSet('downgrade');
MsgBox('IsDowngradeUninstall = ' + Result, mbInformation, MB_OK);
end;
This doesn't work because "Type mismatch". IntToStr
doesn't accept a Boolean
neither. BoolToStr
does not exist.
How to Convert Boolean to String in Java? 1 Using valueOf () method#N#This method is directly used on String like String.valueOf () method to convert boolean value... 2 Using toString () method More ...
IntToStr doesn't accept a Boolean neither. BoolToStr does not exist. If you need it once only, the easiest inline solution is to cast the Boolean to Integer and use the IntToStr function. You get 1 for True and 0 for False.
BoolToStr does not exist. If you need it once only, the easiest inline solution is to cast the Boolean to Integer and use the IntToStr function. You get 1 for True and 0 for False. (Contrary to Delphi) The Inno Setup/Pascal Script Format implicitly converts the Boolean to Integer for %d.
IntToStr doesn't accept a Boolean neither. BoolToStr does not exist. If you need it once only, the easiest inline solution is to cast the Boolean to Integer and use the IntToStr function. You get 1 for True and 0 for False. (Contrary to Delphi) The Inno Setup/Pascal Script Format implicitly converts the Boolean to Integer for %d.
If you need it once only, the easiest inline solution is to cast the Boolean
to Integer
and use the IntToStr
function. You get 1
for True
and 0
for False
.
MsgBox('IsDowngradeUninstall = ' + IntToStr(Integer(Result)), mbInformation, MB_OK);
Though, I usually use the Format
function for the same result:
MsgBox(Format('IsDowngradeUninstall = %d', [Result]), mbInformation, MB_OK);
(Contrary to Delphi) The Inno Setup/Pascal Script Format
implicitly converts the Boolean
to Integer
for %d
.
If you need a more fancy conversion, or if you need the conversion often, implement your own function, as @RobeN already shows in his answer.
function BoolToStr(Value: Boolean): String;
begin
if Value then
Result := 'Yes'
else
Result := 'No';
end;
[Code]
function BoolToStr(Value : Boolean) : String;
begin
if Value then
result := 'true'
else
result := 'false';
end;
or
[Code]
function IsDowngradeUninstall: Boolean;
begin
Result := IsCommandLineParamSet('downgrade');
if Result then
MsgBox('IsDowngradeUninstall = True', mbInformation, MB_OK)
else
MsgBox('IsDowngradeUninstall = False', mbInformation, MB_OK);
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With