unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Registry;
type
TRegForm = class(TForm)
// Hier kann der der Registrierungscode eingegeben werden.
Edit1: TEdit;
// btOK ist das ModalResult mrOK zugeordnet
// btCancel dann mrCancel
btOK: TButton;
btCancel: TButton;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
RegForm: TRegForm;
implementation
uses Unit3; // wegen IsValidValue
{$R *.DFM}
procedure TRegForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
REG : TRegistry;
begin
if ModalResult = mrCancel then
begin // Wenn Abbruch, dann fertig
CanClose := true;
exit;
end;
If not IsValidValue(Edit1.Text) then
begin // Ungültig, dann meckern
CanClose := false;
MessageBox(self.Handle,'Registrierungscode ungültig','FEHLER',MB_ICONERROR or MB_OK);
exit;
end;
CanClose := true;
REG := TRegistry.Create;
try
REG.RootKey := HKEY_CURRENT_USER;
if REG.OpenKey('\Software\SELF', True) then
begin
try
try
REG.WriteString('CODE??',Edit1.Text);
except
CanClose := false;
// Fehlermeldung
end;
finally
REG.CloseKey;
end;
end
else
begin
CanClose := false;
// Fehlermeldung, dass Registrierung nicht geschrieben werden konnte.
end;
finally
FreeAndNil(REG);
end;
end;
end.