[fpc-pascal] How to know the string type of a variable?

Michael Van Canneyt michael at freepascal.org
Mon Dec 30 13:41:53 CET 2013



On Mon, 30 Dec 2013, Marcos Douglas wrote:

> Hi,
>
> Is possible to know what string type of a variable (AnsiString,
> UTF8String, RawByteString, etc)?

You can try

if TypeInfo(S)=TypeInfo(AnsiString) then

etc.

The following program

procedure t(S : String);

begin
   if typeinfo(s)=typeinfo(shortstring) then
     Writeln('ShortString')
   else
     Writeln('Ansistring'); 
end;

begin
   t('');
end.

Prints 
ShortString 
if compiled as-is (fpc mode), and prints 
AnsiString 
if compiled with -S2h (objfpc mode, string=ansistring)

Michael.



More information about the fpc-pascal mailing list