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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 20:39   #11
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Так как ReadStream у меня отсутствует, на что альтернативное можно заменить его в Delphi 7?

Последний раз редактировалось Shouldercannon; 24.11.2009 в 20:43.
Shouldercannon вне форума Ответить с цитированием
Старый 24.11.2009, 21:10   #12
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...поставил себе indy, глянул. Есть еще такое - idudpclient1.ReceiveBuffer() - тут можно брать потом из буфера
еще, почему вы отказываетесь от своего 1 способа ReceiveString() ? вам-то в конце-концов нужно преобразовать приходящее в hex как понимаю... ну так и преобразовуйте каждый символ
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 24.11.2009, 21:39   #13
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Я не отказывался от ReceiveString. Просто ищу варианты.

А можно пример преобразования одного символа?

Последний раз редактировалось Stilet; 25.11.2009 в 13:04.
Shouldercannon вне форума Ответить с цитированием
Старый 25.11.2009, 12:53   #14
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

как-то так...
Код:
s:= 'яяяяI';
sout:= '';

for i:=1 to length(s) do
 sout:= sout + inttohex(ord(s[i]), 2) + ' ';
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 25.11.2009, 19:00   #15
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

После преобразования было выдано следующее: FF FF FF FF 49. Совсем далеко от нужного.

Последний раз редактировалось Shouldercannon; 25.11.2009 в 19:11.
Shouldercannon вне форума Ответить с цитированием
Старый 26.11.2009, 11:08   #16
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Может чем поможет. Ответ от сервера приходит массивом целых чисел т.е. кодов символов
Shouldercannon вне форума Ответить с цитированием
Старый 26.11.2009, 11:11   #17
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

если кодов символов, то функа chr(), чтоб увидеть символ... если в hex, то сразу в inttohex(kodsimvol, 2)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 26.11.2009, 16:55   #18
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

попробывал ради интереса с код4, отослал getstatus оно мне яяяядисконект Я погуглил, нашел на форуме типо надо #$FF#$FF#$FF#$FF'getstatus' оно мне всеравно дисконект.. у всех людей на форуме немцов видимо пашет.
KoBRaAndrey вне форума Ответить с цитированием
Старый 26.12.2010, 18:05   #19
Snayper
 
Регистрация: 10.12.2010
Сообщений: 6
По умолчанию

Пробую делать это через компонент IdUDPServer или через IdUDPClient со вкладок Indy Servers и IndyClients соответственно, также пробовал через IdChargenUDPServer/Client, работает и через и сервер и через клиент, но сервер (игры) в потоке данных отправляет нулевой байт из-за которого вся информация, записываемая в строку на нём прерывается. Как записать данные к примеру в hex, а потом уже удалив этот байт преобразовать в строку я не имею понятия. Помогите разобраться! Как я понял кроме как с помощью IdUDPServer1.ReceiveString(t) получаемые данные вытащить невозможно (t - целое, таймаут соединения).
Использую следующий код:
Код:
  IdUDPClient1.Active:= True;
  IdUDPClient1.Send(char(255)+char(255)+char(255)+char(255)+'TSource Engine Query'+Chr(0));
  s:=(IdUDPClient1.ReceiveString(1000));
  IdUDPClient1.Active:=False;
Перекопал весь интернет, для delphi ответа не нашёл((( Что делать?
Спасибо за будущую помощь.

Последний раз редактировалось Stilet; 26.12.2010 в 19:40.
Snayper вне форума Ответить с цитированием
Старый 10.03.2011, 09:33   #20
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Вот, кому интересно.
Вложения
Тип файла: rar frm_ServerInfo.rar (2.0 Кб, 27 просмотров)
Shouldercannon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Http ответ сервера lennon Свободное общение 4 03.08.2009 02:34
Ответ от сервера. mustang007 Работа с сетью в Delphi 3 23.05.2009 10:33
Как принять ответ от сервера? (делфи) zotox Помощь студентам 2 11.11.2008 13:49
Какой ответ сервера в xmlHttp.responseText mogul82 PHP 6 02.11.2008 10:12
TClientSocket ответ от сервера JRcoker Работа с сетью в Delphi 10 02.10.2008 01:55