📄 reg.pas
字号:
unit reg;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Registry, StdCtrls, Buttons, ExtCtrls;
type
Treg_Form = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Image1: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
Function Check():Boolean;
Procedure CheckReg();
Procedure CreateReg();
{ Private declarations }
public
{ Public declarations }
end;
var
reg_Form: Treg_Form;
PName:string; //全局变量,存放用户名和注册码。
PPass:integer;
implementation
uses Frmain;
{$R *.dfm}
Procedure Treg_Form.CreateReg();//创建用户信息。
var Rego:TRegistry;
begin
Rego:=TRegistry.Create;
Rego.RootKey:=HKEY_USERS;
rego.OpenKey('.DEFAULT\Software\Beautiful\Formal',True);//键名为AngelSoft\Demo,可自行修改。
Rego.WriteString('Name',PName);//写入用户名。
Rego.WriteInteger('Pass',PPass);//写入注册码。
Rego.Free;
ShowMessage('程序已经注册,谢谢!');
CheckReg; //刷新。
end;
Procedure Treg_Form.CheckReg();//检查程序是否在注册表中注册。
var Rego:TRegistry;
begin
Rego:=TRegistry.Create;
Rego.RootKey:=HKEY_USERS;
IF Rego.OpenKey('.DEFAULT\Software\Beautiful\Formal',False) then
begin
Form1.Caption:='〖星光进销存管理系统〗企业注册版';
BitBtn1.Enabled:=false;
Edit1.text:=rego.ReadString('Name');//读用户名。
Edit2.text:=IntToStr(Rego.ReadInteger('Pass')); //读注册码。
rego.Free;
end
else Form1.Caption:='〖星光进销存管理系统〗企业版 软件未注册只能使用30天';
end;
Function Treg_Form.Check():Boolean;//检查注册码是否正确。
var
Temp:pchar;
Name:string;
c:char;
i,Long,Pass:integer;
begin
Pass:=0;
Name:=edit1.Text;
long:=length(Name);
for i:=1 to Long do
begin
temp:=pchar(copy(Name,i,1));
c:=temp^;
Pass:=Pass+ord(c)*105055; //将用户名每个字符转换为ASCII码后相加。
end;
Result := False;
if StrToIntDef(Edit2.Text, 0) = pass then
begin
if edit1.Text = '' then
Result := False
else
Result := True;
PName := Name;
PPass := Pass;
end;
end;
procedure Treg_Form.BitBtn1Click(Sender: TObject);
begin
if Check then CreateReg
else Application.messagebox('注册码不正确,无法注册!','错误',MB_Ok+Mb_iconerror);
edit1.Text:='';
edit2.Text:='';
end;
procedure Treg_Form.FormCreate(Sender: TObject);
begin
CheckReg;
Edit2.Text:='';
end;
procedure Treg_Form.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -