I need to convert a string to an unsigned 32 bit integer (Cardinal).
In System.SysUtils unit there are many useful functions like:
StrToIntStrToInt64StrToUInt64
But I can't find any StrToCardinal, StrToUInt or StrToUInt32 function.
I need to convert a string to an unsigned 32 bit integer (Cardinal).
In System.SysUtils unit there are many useful functions like:
StrToIntStrToInt64StrToUInt64But I can't find any StrToCardinal, StrToUInt or StrToUInt32 function.
To follow Andreas Rejbrand idea posted as comment, I would suggest this:
function StrToCardinal(const S : String) : Cardinal;
var
I64 : UInt64;
begin
I64 := StrToUInt64(S);
if (I64 shr 32) <> 0 then
raise EConvertError.Create('StrToCardinal invalid value');
Result := Cardinal(I64);
end;
StrToUInt64 exists. It's the third bullet in the list.
StrToUInt?:= StrToInt()enough for you? Have you encountered an actual problem? There also exists noStrToWord()andStrToByte()...System.SysUtils(DelphiXE7), how is it implemented?Cardinalvalues (i.e: PIDs)