Thema: Delphi C in Delphi Übersetzen

Einzelnen Beitrag anzeigen

Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#18

Re: C in Delphi Übersetzen

  Alt 26. Apr 2007, 20: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
  Mit Zitat antworten Zitat