Просто копируете данные в нужное место, например у нас есть массив
pck: array[1024] of byte;
Чтобы в него в нужное место поместить 4 байтное Int значение делаете:
Move(откуда, куда, количество байт);
Move(intVal, pck[100], SizeOf(intVal));
Эта конструкция скопирует значение переменной intVal в массив начиная с 100 позиции. Для других типов данных кроме текста, аналогично.
Можете также воспользоваться готовыми функциями из исходников пакетхака:
function ReadC(const pck: string; var index:integer):byte; stdcall;
function ReadH(const pck: string; var index:integer):word; stdcall;
function ReadD(const pck: string; var index:integer):integer; stdcall;
function ReadQ(const pck: string; var index:integer):int64; stdcall;
function ReadF(const pck: string; var index:integer):double; stdcall;
function ReadS(const pck: string; var index:integer):string; stdcall;
procedure WriteC(var pck: string; const v:byte; ind:integer=-1); stdcall;
procedure WriteH(var pck: string; const v:word; ind:integer=-1); stdcall;
procedure WriteD(var pck: string; const v:integer; ind:integer=-1); stdcall;
procedure WriteQ(var pck: string; const v: Int64; ind:integer=-1); stdcall;
procedure WriteF(var pck: string; const v:double; ind:integer=-1); stdcall;
procedure WriteS(var pck: string; const v: WideString; ind:integer=-1); stdcall;
Но они заточены на то что пакет хранится в переменной типа String.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
|