Hi,
I was looking for a cross-platform method for retrieving system ANSI
code page. I have identified two methods, using direct API calls (1) and
indirect using the WideStringManager (2). FPC's
SetPascalWideStringManager() routine provided a good reference.
Any ideas about which is best? Perhaps it is a useful generic routine to
have in RTL?
function GetSystemCodePage1: TSystemCodePage;
begin
{$IFDEF WINDOWS}
Result := Windows.GetACP;
{$ELSE WINDOWS}
{$IFDEF UNIX}
Result:= UnixCP.GetSystemCodepage;
{$ELSE UNIX}
Result := DefaultSystemCodePage;
{$ENDIF UNIX}
{$ENDIF WINDOWS}
end;
function GetSystemCodePage2: TSystemCodePage;
begin
if Assigned(WideStringManager.GetStandardCodePageProc) then
Result := WideStringManager.GetStandardCodePageProc(scpAnsi)
else
Result := DefaultSystemCodePage;
end;
Thanks,
Denis
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel