![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
При попытке передать текст от клиента к серверу, приходит нечитаемое сообщение, вместо знаков кириллицы приходят сообщения, типа: ?????????
пример программы: Код:
клиент:
IdTCPClient1.Host:=HOST.Text;
IdTCPClient1.Port:=StrToInt(PortNumber.Text);
IdTCPClient1.Connect;
IdTCPClient1.IOHandler.WriteLn('message:'+ 'бла-бла-бла');
IdTCPClient1.Disconnect;сервер Код:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); z:=AContext.Connection.IOHandler.ReadLn; if SameText(Copy(z, 1, 8), 'message:') then begin Delete(z, 1, 8); Memo1.Lines.Add(PChar(z)); end; как это исправить? Последний раз редактировалось Admin, 09.11.2009 в 10:40. |
|
#2
|
||||
|
||||
|
Ответ был найден:
клиент: Код:
IdTCPClient1.Host:=HOST.Text;
IdTCPClient1.Port:=StrToInt(PortNumber.Text);
IdTCPClient1.Connect;
IdTCPClient1.IOHandler.WriteLn('message:'+ 'бла-бла-бла', TEncoding.UTF8);
IdTCPClient1.Disconnect;сервер Код:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
Z :WideString;
begin
with AContext.Connection do
begin
Z:=AContext.Connection.IOHandler.ReadLn(TEncoding.UTF8);
if SameText(Copy(z, 1, 8), 'message:') then
begin
Delete(z, 1, 8);
Memo1.Lines.Add(Z);
end;
end;
end. |