Delphi-Quellcode:
// Generiert einen CD-KEY
function CreateKey : String;
var qs : Integer;
r : Integer;
s : String;
begin
repeat
qs := 0;
s := '';
repeat
r := random(25)+65;
s := s+ Chr(r);
qs := qs + r;
if qs + 65 > 975 then begin
qs := qs - r;
delete(s,length(s),1);
s := s + chr(975-qs);
qs := qs + (975-qs);
end;
until qs = 975;
until (Ord(s[Length(s)]) <= 90) and (Ord(s[Length(s)]) >= 65);
Result := s;
end;
// Zum überprüfen ob ein CD-KEY OK ist
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;
Die erste Funktion generiert einen CD-KEY, mit der zweiten kannst du sie überprüfen.. Richtlinie war bei mir das die Quersumme der Ord(Chars) = 975 sein muss. Das ist sicher nicht so professionell aber es klappt
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."