Ich hab mir jetzt eine Function gebaut die CD-Keys generieren soll aber es funktioniert nicht richtig -.-
Delphi-Quellcode:
function CreateKey : String;
var qs : Integer;
r : Integer;
s : String;
begin
qs := 0;
repeat
r := random(25)+65;
s := s+ Chr(r); // Zufälligen buchstaben hinzufügen
qs := qs + r; // der Quersumme hinzufügen
if qs + 65 > 974 then begin // falls Kein "A" mehr reinpasst
qs := qs - r; // Quersumme eins zurücksetzten
delete(s,length(s)-1,1); // String auch den letzten buchstaben löschen
s := s + chr(975-qs); // und den buchstaben hinzufügen das es passt
qs := qs + (975-qs); // und das auch zur Quersumme hinzufügen
end;
until qs = 975;
Result := s;
end;
mit der Function check ich die Keys :
Delphi-Quellcode:
function IsRight(S : String) : Boolean;
var i, qs: integer;
begin
qs := 0;
for i := 1 to length(s) do begin
qs := qs+ord(s[i]);
end;
if qs = 975 then Result := true
else Result := false;
end;
so gehts in der praxis
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := CreateKey;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if IsRight(Edit1.Text) then ShowMessage('Stimmt :)');
end;