1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
function AddCheckSum(Chaine: String): String;
var i, chksum: Integer;
begin
chksum:= 0;
//Suppression des caractères '$' et '*' s'ils sont inclus dans la chaine
if Chaine[1] = '$' then
delete(Chaine, 1, 1);
if Chaine[Length(Chaine)] = '*' then
delete(Chaine, Length(Chaine), 1);
//Calcul du CheckSum
for i := 1 to length(Chaine) do
begin
chksum:= chksum xor Ord(Chaine[i])
end;
// On replace le $, le * et on ajoute le checksum à la fin
Result := '$'+Chaine+'*' + IntToHex(chksum, 2);
end; |
Partager