Estoy intentando procesar un fichero que no lo puedo leer como texto.
La información que me interesa comienza siempre con la misma cadena, 00:F5:02:40:00 en hexadecimal.
El código que uso es el siguiente:
Código Delphi
[-]
try
BlockRead(ffile_input, Ch, 1); except
exit
end;
buffer := ''; sStartCross := Chr(0) + Chr(245) + Chr(2) + Chr(64) + Chr(0);
repeat
if Length(buffer) < 5 then begin
BlockRead(ffile_input, Ch, 1);
buffer := buffer + Chr(Ch);
end
else
begin
BlockRead(ffile_input, Ch, 1);
buffer := buffer + Chr(Ch);
buffer := AnsiRightStr(buffer, 5);
end;
until (StrComp(Pchar(buffer), Pchar(sStartCross)) = 0);
EL valor del sStarCross es
#0'õ'#2'@'#0 y no hay forma de que en el bucle me cumpla la condición de la comparación bien.
No se por donde cogerlo, es la primera vez que tengo que hacer algo así y ahora he visto que el problema está ahí, en como comparo
buffer y
sStarCross , que no se cumple la condición bien.