Ich würde den string anhand der trenner Leerzeichen aufpitten:
Delphi-Quellcode:
var
sl: TStrings;
zahl: string;
imei: Integer;
i: integer;
...
begin
imei := 0;
sl := TStringList.Create;
sl.Delimiter := ' ';
sl.DelimitedText := EditIMEI.Text;
for i := 0 to 6 do //
begin
zahl := IntToStr(Ord( sl.Strings[2])-48)*2);
imei := imei + zah[1] + zahl[2] + Ord( sl.Strings[i]-48);
end;
imei := imei mod 5;
...
getippt und nicht getestet.