Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.07.2010, 17:57   #1
mrAndersen
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 12
По умолчанию Сокеты..

Создаю тут, потому что в "Сетевом" форуме активность минимальная, а вопрос никак не решиться..

Есть компоннет TServerSocket, есть сторнняя прога, которая шлет на tcp порт текст. Если текст этот принимать Socket.ReciveText() то приходит весь, но вопросиками частично, тоесть я так понимаю кодировка какая-то не та.

Если принимать в ReciveBuf в стринг переменную, принимается обрезанный и без первого символа, но с нужной кодировкой.

Вопрос, как сделать чтобы в рисерв текст принималось всё правильно. Или в ресервбуф, какнибудь кароче...

Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
 //Socket.ReceiveBuf(r,1000); - без первого символа, не полный текст
 //r:=Socket.ReceiveText; - неправильное отображение..
 Memo1.Lines.Add('<- '+r);
 r:='';
end;
mrAndersen вне форума
Старый 12.07.2010, 19:43   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Delphi какой?
ICQ: 593-013-807
Don Karleone вне форума
Старый 12.07.2010, 20:13   #3
mrAndersen
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 12
По умолчанию

Delphi 2009
mrAndersen вне форума
Старый 12.07.2010, 23:06   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а кросспостинг вообще карается.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 12.07.2010, 23:21   #5
mrAndersen
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 12
По умолчанию

Да я уже третий день бьюсь с этим, щас уже по байтам пробовал принять))
mrAndersen вне форума
Старый 12.07.2010, 23:23   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

var
r1: string[1000];
v2: array[0..1000] of char
begin
Socket.ReceiveBuf(r1[1]@,1000); - без первого символа, не полный текст
r:=r1;
Socket.ReceiveBuf(v2[0]@,1000); - без первого символа, не полный текст
r:=v2;

OEMtoAnsi/AnsitoOEM ?
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.07.2010 в 23:27.
evg_m вне форума
Старый 12.07.2010, 23:52   #7
mrAndersen
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 12
По умолчанию

Код:
var
r1: string[1000];
v2: array[0..1000] of char
begin
Socket.ReceiveBuf(r1[1]@,1000); - без первого символа, не полный текст
r:=r1;
Socket.ReceiveBuf(v2[0]@,1000); - без первого символа, не полный текст
r:=v2;
Вообще пустая строка..

Цитата:
OEMtoAnsi/AnsitoOEM ?
По подробнее пожалуйста..
mrAndersen вне форума
Старый 13.07.2010, 05:42   #8
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Я бы не заморачивался на твоем месте, т.к. если "вопросики" приходят через SendText, то и через буффер тоже они придут. Кодируй строку в Base64 и отправляй текстом, а на клиенте - получай и декодируй.

Последний раз редактировалось igh0st; 13.07.2010 в 06:30.
igh0st вне форума
Старый 13.07.2010, 08:56   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Кросспостинг. Закрываю.
Цитата:
активность минимальная, а вопрос никак не решиться..
Это не повод нарушать правила.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сокеты в С TDrive C/C++ Сетевое программирование 6 03.03.2010 11:59
Сокеты Pelengeist Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 19.11.2009 11:09
сокеты cross Работа с сетью в Delphi 2 21.12.2006 18:12