Undskyld - det var min egen rutine. Her kommer koden:
procedure TStandat.ConvertToAnsi(aCodepage : string; aStrings: TStrings); var p, lgd : integer; p_in : pAnsiChar; p_out : pWideChar; st_out : WideString; begin p := pos(CodePagePrefix,aCodepage); if p > 0 then System.Delete(aCodepage,1,length(CodePagePrefix)+1);
I aCodepage skrives 850, 865 eller lignende. Bemærk detaljen med at kalde funktionen med en output-størrelse på nil returnerer længden på det der skal allokeres bagefter.
Der er en lang og interessant (!) beskrivelse på MSDN.
Efter lidt graven i VCL'et ser det ikke ud til at der foretages nogen konvertering der. Data kopieres råt og ukonverteret.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.