![]() |
|
![]() ![]() ![]() |
|
leporel |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
Посылаю запрос
Ответ получается в ReceiveBuff Как вывести его по кускам? Я не знаю как в Memo добавлять в одну и туже строку символы, но все равно делаю вот так
И в Memo только данные типа "String" показывает. Это сообщение отредактировал(а) leporel - 26.2.2010, 20:57 |
||||
|
|||||
XPyCT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 24.8.2007 Где: Moldova Репутация: 10 Всего: 10 |
ну предположим, подготовить для мемо можно попытаться так
Технику применения думаю разрулите Это сообщение отредактировал(а) XPyCT - 27.2.2010, 00:45 |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
leporel |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
||||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
leporel, ок. Ответ ты получаешь в виде String. Теперь, как я понимаю, ты хочешь разложить строку по байтам? Если так то тебе необходимо либо ее перевести в буфер char методом c_str() строки, либо циклом по строке начиная с индекса 1, а не 0.
т.е.
Так ты разложишь буфер по символам. |
|||
|
||||
leporel |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
Так он цифры выводит, а если поставить Memo1->Lines->Add((char)ReceiveBuff[i]); буквы выводит. Попытался что-то сделать с тем что хруст предложил
Выводит теже самые символы но в одну строчку хоть. НО! символами показаны только переменные стринг (тоесть Server Name, Map, Game Directory и т.д) все остальные данные "byte" и "short" или не отображаются, или иероглифы. byte он только в самом начале отображает большую букву I (Type byte Should be equal to 'I' (0x49)) ЗЫ: Посмотрел что он цифрами выводит, и получается переменные типа byte он правильно показывает. И как понять где стринг выводить, а где цифру? Это сообщение отредактировал(а) leporel - 27.2.2010, 12:18 |
||||
|
|||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Камрад, наверное надо: i<=ReceiveBuff.Length, иначе одного символа не досчитаемся!
Создай структуру которая будет полностью описывать ответ сервера и разложи строку в структуру. -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
leporel |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
как?
этим мои знания заканчиваются PS
Можно пример? Это сообщение отредактировал(а) leporel - 27.2.2010, 12:46 |
||||||
|
|||||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
да вот же она
все прекрасно расписано. описываешь ее, затем копируешь в нее полученный буфер тем же memcpy. |
|||
|
||||
leporel |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
Извините меня, но
![]() memcpy - как я понял, копирует из чего то в другое, с указанным количество байтов, я не знаю как это реализовать... Это сообщение отредактировал(а) leporel - 27.2.2010, 14:57 |
|||
|
||||
leporel |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
Делаю вот так. Проблема с отображением русских символов в названии и например вместо ★ получается â Как исправить? И ещё, вот например у этих http://www.gametracker.com/search/hl2zp/ серверов AppID должен быть 17505 или 17500, а показывает 92 нужном элементе массива, а в следующем элементе массива вместо 0 становиться 68 Это сообщение отредактировал(а) leporel - 3.3.2010, 07:27 |
|||
|
||||
mrbrooks |
|
||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
leporel, UnicodeString использовать вместо массива символов не кошерно. Можно конечно задать строго размер строки, но лучше всеже классический массив символов.
17500 == x445C 92 == 5C Режется старший байт.
откуда там кириллица? |
||||
|
|||||
leporel |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
как исправить? |
|||
|
||||
leporel |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 12.2.2008 Репутация: -1 Всего: -1 |
Может кто объяснить что происходит при
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |