From 2854f08daa2c9b318e233085cd04a6e3c106d8fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Sun, 15 Oct 2023 23:06:02 +0200 Subject: [PATCH] * Add boolean %b format specifier --- rtl/objpas/sysutils/sysformt.inc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/rtl/objpas/sysutils/sysformt.inc b/rtl/objpas/sysutils/sysformt.inc index f662510a73..9b0548a2e2 100644 --- a/rtl/objpas/sysutils/sysformt.inc +++ b/rtl/objpas/sysutils/sysformt.inc @@ -263,6 +263,21 @@ begin DumpFormat(FCHar); {$endif} Case FChar of + 'B' : begin + if Checkarg(vtInteger,False) then + ToAdd:=BoolToStr((Args[Doarg].VInteger<>0),True) + else if Checkarg(vtInt64,False) then + ToAdd:=BoolToStr((Args[Doarg].VInt64^<>0),True) + else if Checkarg(vtBoolean,True) then + ToAdd:=BoolToStr(Args[Doarg].VBoolean,True); + Index:=Length(ToAdd); + // Top off + If (Prec<>-1) and (Index>Prec) then + begin + Index:=Prec; + ToAdd:=Copy(ToAdd,1,Index); + end; + end; 'D' : begin if Checkarg(vtinteger,false) then Str(Args[Doarg].VInteger,ToAdd)