Man kann dem AnsiString auch direkt die CodePage mitgeben, wobei Delphi dann (meistens) die gewünschte CodePage nutzt, wenn es automatisch konvertieren soll.
SetAnsiString
StringElementSize
StringCodePage
StringRefCount
SetCodePage
Es gibt sogar ein
ReadLString(var t: TTextRec; var s: AnsiString; CodePage: Word);
, wobei ich nicht genau weiß, wie man das nutzt.
Theoretisch sollte es eine der internen Funktionen für Read und ReadLn sein.
Eventuell wird es ja automatisch genutzt, wenn man dem StringTyp die Codepage mitgibt, so wie z.B. die Codepage 65001 für den
UTF8String.
Delphi-Quellcode:
type
UTF8String = type AnsiString(65001);
OEMString = type AnsiString(850); // oder = type AnsiString(CP_OEMCP)