Thema: Delphi CD-Key Problem

Einzelnen Beitrag anzeigen

Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: CD-Key Problem

  Alt 18. Okt 2005, 13:40
Zitat von A-M-X:
Hiho!!
Delphi-Quellcode:
function CDKey(Seed:String): String;
const Key1: Array[0..9] of Char = ('2','5','8','9','5','a','1','3','6','7');
      Key2: Array[0..9] of Char = ('8','3','4','0','1','7','x','9','3','9');
var i: integer;

begin
 result := Seed + '-';
 // result = 1234-

 for i:= 1 to length(Seed) do
  result := result + Key1[Ord(Seed[i])-48];
 // result = 1234-5895

 result := result + '-';
 // result = 1234-5895-

 for i:= 1 to length(Seed) do
  result := result + Key2[Ord(Seed[i])-48];
 // result = 1234-5895-3401

end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if CDKey(Copy(Edit1.Text,1,4)) = Edit1.Text then
  Caption := 'Richtigelse Caption := 'falscher Key';
end;
for i:= 1 to length(Seed) do
result := result + Key2[Ord(Seed[i])-48];

Seed[i] wird als Char ausgelesen. Dann wird der ASCII-Code des Char von 48 abgezogen. Da nur Zahlen verwendet werden kommt eine Zahl zwischen 0 und 9 heraus, Also die Zahl, die auch an der Stelle steht. Dann wird das Zeichen aus Key genommen, das an diser Stelle ist.

Wenn Seed[1] = 1 ist, ist Ord(Seed[i])-48 auch 1.


MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat