Как я понимаю, HStr принимает параметр - строку. Packet - массив байт, копируемый из буфера _gBuff (соответственно, определение Packet как string неверно, нужен массив). Ты пытаешься преобразовать строку+массив байт в массив байт. Packet нужно вынести за функцию HStr.
т.е. так:
Но меня вообще очень настораживает сравнение массивов байт функцией для сравнения строк.
Цитата:
Сообщение от Leo_ня
По твоей картинке вроде так:
Код:
BEGIN
if (not _gFromServ) and (gInt(_gBuff,0,2)=$0042) //Если пакет не от сервера и его ID (первые два байта) = 0x4200, то
then begin
_gOutBuff[4]:=HStr('21'); //Заменить первый символ логина на восклицательный знак =)
end;
END.