В Delphi использую один пробел, всё читается прекрасно:
procedure TfrmMain.FormCreate(Sender : TObject);
var
ini : TRegistryIniFile;
port : Word;
host : string;
res : TResourceStream;
s : string;
begin
if Screen.Fonts.IndexOf('Haettenschweiler') = -1 then
begin
s := GetSpecialFolderPath(CSIDL_APPDATA) + GetProgramName + '\';
if not DirectoryExists(s) then
ForceDirectories(s);
res := TResourceStream.Create(HInstance, 'HATTEN', RT_RCDATA);
res.SaveToFile(s + 'hatten.ttf');
res.Free;
AddFontResource(PChar(s + 'hatten.ttf'));
end;
VerInfo := TVersionInfo.Create;
ini := TRegistryIniFile.Create('Software\' + GetProgramName);
with ini do
begin
port := ReadInteger('Software', 'UDP-port', 1200);
host := ReadString('Software', 'IP-addr', '192.168.1.126');
HideAtRun := ReadBool('Software', 'HideAtRun', FALSE);
InitCOM := ReadInteger('Hardware', 'COM-Port', 1);
end;
ini.Free;
if port < 1000 then
port := 1200;
VirtualPort := TVirtualPort.Create(host, port, OnRxUDP);
PrintHostPort(VirtualPort.Host, VirtualPort.port);
PrintVersion(Format(StrVersion, [VerInfo.Version.Str]));
MemDataData.Size := MAX_DATA_LEN * 3;
// На каждый лог. байт приходится два символа и пробел
MemData.Open;
end;