Показать сообщение отдельно
Старый 21.09.2008, 11:07   #5
Пользователь
 
Регистрация: 08.08.2007
Адрес: гандурас
Сообщений: 20
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
stirena
По умолчанию

я непонимаю этот синтаксис
Цитата:
var
k:Integer;
IsBot:boolean;

Procedure OnCreate;
begin
k:=1;
end;

BEGIN

if _gAbsNumPkt = 1 then тут ловим первый пакет
if StrCmp(copy(_gBuff,length(_gBuff)-3,4),HStr('00 00 00 00')) then IsBot:=true
else IsBot:=false;

if IsBot then begin

if (not _gFromServ) and StrCmp( copy(_gBuff,1,2), HStr('13 00')) then тут сравниваем два первых байта пакета
_gOutBuff:=HStr('13 00 CB')+FStr(16); тут меняем первые три байта + ХЗ

if (not _gFromServ) and StrCmp( copy(_gBuff,1,2), HStr('05 00')) then begin
if k=1 then begin
_gOutBuff:=HStr('0500D00100');
k:=2;
end
else _gOutBuff:=HStr('0500D02100');
end;

if (not _gFromServ) and StrCmp( copy(_gBuff,1,2), HStr('6B 00')) then begin
_gOutBuff:=HStr('6B 00 11')+copy(_gBuff,4,length(_gBuff)-3);
end;



case _gAbsNumPkt of
3:begin
_gOutBuff:=HStr('31 00 2B')+copy(_gBuff,4,length(_gBuff)-3)+FStr(49-length(_gBuff));

end;

end;
end;
END.
и так вочти в каждой строчке
stirena вне форума   Ответить с цитированием