Wie die überprüfung geht, weiß ich ja, aber ich weiß nicht wo ich diese genau hinsetzen soll?
Überprüfung
If CheckCode(IntToStr(a), 25, 7)) = False then
Das muß meines wissens nach die überprüfung sein. Nur wo setze ich diese hin:
Code:
procedure TKundendaten.FormCreate(Sender: TObject);
begin
REG := TRegistry.Create;
try
try
REG.RootKey := HKEY_CURRENT_USER;
if REG.OpenKey('\Software\SELF', True) then
begin
if REG.ValueExists('CODE??') then a:=StrToInt(REG.ReadString('CODE??'))
else a := 0;
REG.CloseKey;
end;
except
a := 0;
end;
finally
REG.Free;
if a=0 then
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.OpenKey('\Software\SELF',True) then
begin
reg.WriteString('CODE??',inputbox('Seriennummer','Bitte geben sie ihre Seriennummer ein:',''));
reg:=tregistry.Create;
REG.RootKey := HKEY_CURRENT_USER;
if REG.OpenKey('\Software\SELF', True) then
begin
if REG.ValueExists('CODE??') then a:=StrToInt(REG.ReadString('CODE??'))
else a := 0;
REG.CloseKey;
end;
if CheckCode(IntToStr(a),25, 7)= false then
Application.Terminate;
end;
end else
begin
if CheckCode(IntToStr(a),25, 7)= false then
Application.Terminate;
end;
end;
end;
Noch etwas ist mir aufgefallen:
Wenn ich in der Inputbox nichts eingebe, und auf OK oder Abbrechen klicke, dann kommt zwar eine Meldung: 'ist kein gültiger Integerwert' aber das programm läßt sich trotzdem starten. Das muß auch noch weg.