Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
Delphi 2007 Professional
|
Re: C in Delphi Übersetzen
26. Apr 2007, 21:13
Aktueller stand ist so
Delphi-Quellcode:
procedure TForm3.IMEI_code(IMEI: PChar; std,std1: PChar);
var IMEI_PATCH, IMEI74, IMEI9C: Array[0..16] of Char;
IMEICC : Array[0..32] of Char;
dest: Array[0..15] of Char;
b,i: Integer;
begin
std1 := 'DGL';
b := 0;
for i:= 0 to 15 do
dest[i] := '0';
fillchar(IMEICC[0],32,0); //for i:= 0 to 36 do IMEICC[i] := '0';
//
strCopy(@dest[0], std1);
for i:=0 to 7 do begin
b:=b+strtoint(IMEI[i+6]);
IMEI_PATCH[i]:=IMEI[i+6];
end;
for i:=0 to 7 do begin
// IMEI_PATCH[i+8]:=$64-IMEI_PATCH[i];
end;
IMEI_PATCH[16]:='0';
Case b mod 3 of
0:for i:=0 to 15 do begin
IMEI74[i]:=IMEI_PATCH[i];
break;
end;// 0
1:for i:=0 to 15 do begin
IMEI74[15+i]:=IMEI_PATCH[i+1];
break;
end;// 1
2:for i:=0 to 15 do begin
if i mod 2 = 0 then begin
IMEI74[i]:=IMEI_PATCH[i+1];
end;
end
else Begin
IMEI74[i]:=IMEI_PATCH[i-1];
end; // 2
End; //CASE of
strcat(dest,std);
strcat(dest,std1);
strcat(dest,std);
for i:=0 to 15 do begin
// IMEI9c[i]:=(IMEI74[i]+dest[i])mod 100;
end;
IMEI74[16]:='0';
IMEI9c[16]:='0';
Case b mod 10 of
1:for i:=0 to 7 do begin
// IMEICC[i*4]:=(IMEI74[i*2] or dest[i*2] or IMEI9c[i*2] or IMEI9c[i*2]) mod 10;
break;
end;//1
2:for i:=0 to 7 do begin
// IMEICC[i*4]:=(IMEI74[(i*2)+1] or dest[(i*2)+1] or IMEI9c[(i*2)+1] or IMEI9c[(i*2)+1]) mod 10;
break;
end;//2
3:for i:=0 to 7 do begin
// IMEICC[i*4]:=((IMEI74[i*2] or dest[i*2]) and IMEI9c[i*2] or IMEI9c[i*2]) mod 10;
break;
end;//3
4:for i:=0 to 7 do begin
// IMEICC[i*4]:=((IMEI74[(i*2)+1] or dest[(i*2)+1]) and IMEI9c[(i*2)+1] or IMEI9c[(i*2)+1]) mod 10;
break;
end;//4
5:for i:=0 to 7 do begin
// IMEICC[i*4]:=((IMEI74[i*2] or dest[i*2] or IMEI9c[i*2]) and IMEI9c[i*2]) mod 10;
break;
end;//5
6:for i:=0 to 7 do begin
// IMEICC[i*4]:=((IMEI74[(i*2)+1] or dest[(i*2)+1] or IMEI9c[(i*2)+1]) and IMEI9c[(i*2)+1]) mod 10;
break;
end;//6
7:for i:=0 to 7 do begin
// IMEICC[i*4]:=((IMEI74[i*2] and dest[i*2]) or IMEI9c[i*2] or IMEI9c[i*2]) mod 10;
break;
end;//7
8:for i:=0 to 7 do begin
// IMEICC[i*4]:=((IMEI74[(i*2)+1]) and dest[(i*2)+1] or IMEI9c[(i*2)+1] or IMEI9c[(i*2)+1]) mod 10;
break;
end;//8
9:for i:=0 to 7 do begin
// IMEICC[i*4]:=(((IMEI74[i*2] and dest[i*2]) or IMEI9c[i*2]) and IMEI9c[i*2]) mod 10;
break;
end;//9
else
for i:=0 to 7 do begin
// IMEICC[i*4]:=(((IMEI74[(i*2)+1] and dest[(i*2)+1]) or IMEI9c[(i*2)+1]) and IMEI9c[(i*2)+1]) mod 10;
break;
end;//else
End; //Case of
end; //Procedure
da sind noch einige sachen wo ich net weiterkomm
Marcel
|
|
Zitat
|