> Yes, that should work and is the bare minimum required for use
> in the demos. Though it cannot handle a possible BOM.
>
With a little trick and we just need to rewrite the create constructor.
unit UnicodeIniFile;
interface
type
TMyUnicodeIniFile = class(TIniFile)
public
constructor Create(const aFileName: string);
end;
implementation
uses Classes, sysutils, Inifiles;
constructor TMyUnicodeIniFile.Create(const aFileName: string);
var f: TfileStream;
const UnicodeBOM: word = $FEFF;
begin
if not fileexists(aFileName) then
try
f.Write(UnicodeBOM, 2);
finally
f.Free;
end;
inherited;
end;
end.
The D2009 TInitFile already uses the WritePrivateProfileStringW and
GetPrivateProfileStringW versions of the functions, but only work if the
ini file already exists and is Unicode. This code does the trick adding
the Unicode BOM if files does not exist already.
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be