Fórum Problemas com Variável tipo Byte #260420
29/11/2004
0
Código: procedure TForm1.bytecrc(data: byte; var crc: word); var i:byte; begin for i:=0 to 7 do begin data:=data; if((data and $01)XOR(crc AND $0001)<>0) then begin crc:=crc shr 1; crc:=crc XOR $1021; end else crc:=crc shr 1; data:=data shr 1; end; end;
no código acima estou precisando jogar um valor em hexadecimal ex: 30 32 0D na variável data da procedure bytecrc eu já tentei converter um valor de um tedit para decimal com ord e de decimal para hexa com inttohex mas quando vou jogar na variável data do tipo byte o delphi não aceita dando um erro de tipos incompatíveis byte e string ao converter para hexa com inttohex ele converter mas só q vira uma string.alguém
sabe como eu posso colocar esse valor hexa dentro da variável byte?
Tap_pedroso
Curtir tópico
+ 0Posts
29/11/2004
Nildo
Gostei + 0
29/11/2004
Tap_pedroso
Gostei + 0
29/11/2004
Nildo
Na hora de passar o valor como parametro, faça assim:
var SeuHex: String; begin SeuHex := ´AA´; byteCrc( StrToInt( ´$´ + Seuhex ), VarQualquer ); end;
Gostei + 0
29/11/2004
Tap_pedroso
var SeuHex: String; begin SeuHex := ´AA´; byteCrc( StrToInt( ´$´ + Seuhex ), VarQualquer ); end;
eu fiz o codigo acima e quando chegou na variável [b:5446127a5a]DATA[/b:5446127a5a] da procedure [b:5446127a5a]bytecrc[/b:5446127a5a] ele chegou em decimal eu coloquei só 30 e quando chegou na procedure ele virou 48 e eu preciso q ao chegar na procedure ele continue como 30.
Gostei + 0
29/11/2004
Nildo
Gostei + 0
29/11/2004
Nildo
hex30 nunca vai ser 30.
Assim como o hexAA nao vai ter valor AA pois ´AA´ não é byte, é um string.
Gostei + 0
29/11/2004
Tap_pedroso
Gostei + 0
30/11/2004
Nildo
Exatamente :D
Qualquer outra dúvida que você venha a ter quanto a hexadecimais, pergunte neste tópico pois eu estou recebendo notificações via e-mail.
Caso ainda haja dúvidas me fale que eu tento explicar melhor.
Transforme para decimal, e na hora de apresentar o resultado do CRC você transforma pra hexa denovo. Entendeu?
Um forte abraço
Gostei + 0
30/11/2004
Tap_pedroso
Gostei + 0
30/11/2004
Nildo
Um abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)