Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > Unicode строки в indy 9 |
Автор: Mixasik 23.8.2008, 12:20 |
Добрый день. Возникла проблемка или я просто туплю ![]() Принцип работы : 1) посылается команда о следующих действиях клиента и сервер ждет от клиента уже конкретные данные, но я использую unicode (WideString) могу ли я передать эту строку методом Write()? Как я понял нет( 2) Я решил делать так, вначале передавать, например, размер этой строки в байтах, а потом WriteBuffer(WString,sizeOF(WString)) и сервер будет знать размер и считывать так: Athread.Connection.ReadBuffer(serverWSTR, ReceivedSize), где второй параметр размер передаваемого буфера? как мне показалось так можно сделать, но может есть метод проще... И если мне надо передать например запись, с полями где есть тип WideString мне кажется тут будет много проблем ведь нельзя указать WideString[10] и при передаче размера записи, не будет известен размер каждого поля типа WideString.... Второй вариант использовать массив array[0..1024] of WChar; В общем жду идей и советов ![]() ![]() |
Автор: yus 26.9.2008, 05:34 | ||||||
А если попробовать WideString конвертнуть в UTF8 затем передать полученную строку методом Write(), на том конце получить и конвертнуть обратно в WideString.
передача
прием
|
Автор: Matematik 26.9.2008, 09:59 | ||
№2 вынести код в отдельную функции записи\чтения
|