![]() |
Re: C in Delphi Übersetzen
Zitat:
|
Re: C in Delphi Übersetzen
Zitat:
|
Re: C in Delphi Übersetzen
Zitat:
Delphi-Quellcode:
ist das n
char IMEICC[33];
Delphi-Quellcode:
zumindest hab ich das so verstanden mit C hab ichs net so dicke
IMEICC:array [0..32] of char;
|
Re: C in Delphi Übersetzen
@Gehstock:
Was hab ich denn anderes behauptet? Ich schrieb doch dass es als 33 zelliges Array deklariert wurde aber 37 Zellen mit 0en gefuellt wird! |
Re: C in Delphi Übersetzen
Zitat:
|
Re: C in Delphi Übersetzen
Zitat:
|
Re: C in Delphi Übersetzen
Doppelposting
|
Re: C in Delphi Übersetzen
Aktueller stand ist so
Delphi-Quellcode:
da sind noch einige sachen wo ich net weiterkomm
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 |
Re: C in Delphi Übersetzen
Hallo,
wenn du nicht darauf angewiesen bist, das ganze zu C kompatibel zu halten oder das in eine DLL packen willst, dann mach aus den PChars einfach strings. dann kannst du die bei dir noch auskommentierten sachen praktisch 1 zu 1 übernehmen, du musst nur darauf achten, dass der zugriff in C 0-basiert und der string-zugriff in Delphi 1-basiert ist, d.h., du musst alle indizes um eins erhöhen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz