Работа с буфером ... КАК правильно?

  • Автор темы Spoiler
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Spoiler

#1
Всем привет.

Записываю данные в буфер.
Сам буфер описал как

BUF_s,
BUF_r : Array [ 0 .. 8191 ] of Longint;

Длаю запись данных в буфер
BUF_s[ 0 ] := $80;

BUF_s[ 1 ] := $00; //length
BUF_s[ 2 ] := $1A; //length

BUF_s[ 3 ] := $10; //VERSION
BUF_s[ 4 ] := $00; //FLAG
BUF_s[ 5 ] := $20; //PACKSIZE
BUF_s[ 6 ] := $00; //PACKSIZE
BUF_s[ 7 ] := $46; //HI
BUF_s[ 8 ] := $00; //DATA LENGTH
BUF_s[ 9 ] := $13; //DATA LENGTH
................................

View_BUF_SND.AppendBuffer( @BUF_S, 99 );

здесь пытаюсь просмотреть содержание буфера но там почему следующее
80 00 00 00 00 00 00 00 1A 00 00 00 10 00 00 00
00 00 00 00 20 00 00 00 00 00

View_BUF_SND.SelStart := 0;

if send( Sock, BUF_S, 9 , 0 ) = SOCKET_ERROR then
Debug_.Items.Add( 'filed ... !' )
else
Debug_.Items.Add( 'Data send ... OK ... !' );

Соответственно когда посылаю данные, содержание буфера как я полагаю отличается от того, что я туда писал

Народ, объясните как правильно производить запись в буфер, просматривать и отправлять
 
Z

zubr

#2
Проблема в том, что буфер у тебя объявлен как массив типа Longint, а загоняешь туда числа размером в байт, поэтому так и получается. Вместо BUF_r : Array [ 0 .. 8191 ] of Longint; сделай BUF_r : Array [ 0 .. 8191 ] of byte; и будет тебе счастье :(
 
Статус
Закрыто для дальнейших ответов.