Einzelnen Beitrag anzeigen

ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#18

Re: Quellcode des Programms in Delphi übersetzen - Hilfe ges

  Alt 30. Nov 2005, 16:30
du musst den Edit1.text schon am Anfang in eine Variable einlesen. Auf die greifst du dann zu:

Delphi-Quellcode:
var
  i,cha,neu:integer;
  serial,s:string;

const
  hexes:string='0123456789ABCDEF';
begin {Procedure}
if length(Edit1.Text) < 3 then
  Edit2.Text := 'Der Benutzername ist zu kurz!'
else if length(Edit1.Text) > 50 then
  Edit2.Text := 'Der Benutzername ist zu lang!'
else
begin {if}
  s:=edit1.text;
  for i:=1 to length(Edit1.Text) do
  begin
    cha := integer(s[i]); {Get char }
    asm
      MOV eax,cha
      XOR eax,201527
      ADD eax,3735928559
      IMUL eax,eax, 1638
      SUB eax,464370355
      SHL eax,3
      XOR eax,3545092109
      ADD ebx,eax
      MOV neu,ebx
    end;
  end;

  {Hier muss EBX noch in einen HEX-Wert geändert werden}
  serial := hexes[neu div 16]+hexes[neu mod 16];
  Edit2.Text := serial;
end; {if}
end;
jetzt gibt es noch eine AV weil deine Hex-Umwandlungs-Prozedur nur für Zahlen unter 256 geht.

Zur Hex-Umwandlung kannst du diese Proc verwenden:
Delphi-Quellcode:
function hextostr(hex:int64):string;
const
  hexes:string='0123456789ABCDEF';
var
  hextmp:int64;
  kn:boolean;
begin
  hextmp:=hex;
  kn:=false;
  result:='';
  if hextmp<0 then begin
    hextmp:=-hextmp;
    kn:=true;
  end;
  if hextmp=0 then begin
    result:='0';
    exit;
  end;
  while hextmp<>0 do begin
    result:=hexes[1+(hextmp mod 16)]+result;
    hextmp:=hextmp div 16;
  end;
  if kn then result:='-'+result;
end;
diese Funktion habe ich gerade selbst gebastelt. Müsste funktionieren für Zahlen zwischen +9223372036854775808 und -9223372036854775807.

aufdieselbe Art kannst du auch dein eigenes inttostr schreiben: einfach 16 durch 10 ersetzen und fertig.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat