📄 start1.pas
字号:
unit start1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg, DB, DBTables, Buttons,registry,shellapi,
ComCtrls;
type
Tstart = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
Label3: TLabel;
Label1: TLabel;
user: TTable;
userBDEDesigner: TStringField;
userBDEDesigner2: TStringField;
userRignt: TStringField;
Button3: TSpeedButton;
Button5: TSpeedButton;
ProgressBar1: TProgressBar;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
start: Tstart;
c:integer;
s:string;
implementation
{$R *.dfm}
function cf( str:string):string;
var i,j:integer;
temp:pchar;
buf:string ;
c:char;
begin
j:=0;
for i:=1 to length(str) do
begin
j:=(j+1) mod 10;
temp:=pchar(copy(str,i,1));
c:=temp^;
buf:=buf+chr(ord(c) xor j*12);
end;
result:=buf;
end;
procedure Tstart.FormCreate(Sender: TObject);
var s1,s2:string;
i:integer;
begin
getdir(0,s);
s1:=s+'\user.db';
s2:=s+'\user.px';
if(fileexists(s1)=false)or(fileexists(s2)=false) then
begin
application.MessageBox('程序必要的文件丢失,请重装系统','信息',mb_ok+mb_iconinformation);
halt;
end;
user.Active:=false;
user.DatabaseName:=s;
user.TableName:='user.db';
user.Active:=true;
for i:=0 to user.RecordCount-1 do
begin
if user.FieldByName('rignt').AsString=cf('1') then
combobox1.Items.Add(cf(user.fieldbyname('用户名').AsString));
user.Next;
end;
c:=0;
button5.Enabled:=false;
end;
procedure Tstart.Button5Click(Sender: TObject);
var re:Tregistry;
ss,s1,s2,s3,s4,s5,s6,s7,s19,s20,s21,s22,s23,f22,f23,f21,f19,f20,s9,s10,s11,s12,s13,s14,s17,s18,f1,f17,f18,f2,f3,f4,f5,f6,f7,f9,f10,f11,f12,f13,f14:string;
begin
re:=Tregistry.create;
re.RootKey:=HKEY_USERS;
if re.OpenKey('.default\software\wo\date',false)=false then
begin
application.MessageBox('职工工资管理系统未注册,请注册系统','信息',mb_ok+mb_iconinformation);
halt;
end
else
if (re.ValueExists('bak')=false) or (re.ValueExists('dir')=false)or (re.ValueExists('username')=false) or(re.ValueExists('complay')=false) then
begin
application.MessageBox('注册信息丢失或被破坏!请重装系统','错误',mb_ok+mb_iconinformation);
re.Free;
halt;
end
else
begin
user.Active:=true;
user.SetKey;
user.fieldbyname('用户名').AsString:=cf(combobox1.Text);
if user.GotoKey then
begin
if (cf(edit1.Text)=user.fieldbyname('密码').AsString)and(length(cf(edit1.Text))=length(user.fieldbyname('密码').AsString)) then
begin
user.Close;
if application.MessageBox('恢复数据前须认真考虑,因为进行数据恢复后您未保存的数据将丢失,且需要重启系统,要进行数据恢复吗?','信息',mb_okcancel+mb_iconinformation)=idok then
begin
ss:=re.ReadString('dir');
s1:=ss+'/zgb.db';
s2:=ss+'/zgb.PX';
s3:=ss+'/zgb.XG0';
s4:=ss+'/zgb.YG0';
s5:=ss+'/gzb.db';
s6:=ss+'/gzb.PX';
s7:=ss+'/chang.db';
s9:=ss+'/bmb.db';
s10:=ss+'/bmb.PX';
s11:=ss+'/bmb.XG0';
s12:=ss+'/bmb.YG0';
s13:=ss+'/user.db';
s14:=ss+'/user.px';
s17:=ss+'/zc.db';
s18:=ss+'/zc.PX';
s19:=ss+'/zgb.XG1';
s20:=ss+'/zgb.YG1';
s21:=ss+'/tem.db';
s22:=ss+'/zgb.XG2';
s23:=ss+'/zgb.YG2';
f1:=s+'/zgb.db';
f2:=s+'/zgb.PX';
f3:=s+'/zgb.XG0';
f4:=s+'/zgb.YG0';
f5:=s+'/gzb.db';
f6:=s+'/gzb.PX';
f7:=s+'/chang.db';
f9:=s+'/bmb.db';
f10:=s+'/bmb.PX';
f11:=s+'/bmb.XG0';
f12:=s+'/bmb.YG0';
f13:=s+'/user.db';
f14:=s+'/user.px';
f17:=s+'/zc.db';
f18:=s+'/zc.PX';
f19:=s+'/zgb.XG1';
f20:=s+'/zgb.YG1';
f21:=s+'/tem.db';
f22:=s+'/zgb.XG2';
f23:=s+'/zgb.YG2';
copyfile(pchar(s1),pchar(f1),false);
ProgressBar1.Position:=1;
copyfile(pchar(s2),pchar(f2),false);
ProgressBar1.Position:=2;
copyfile(pchar(s3),pchar(f3),false);
ProgressBar1.Position:=3;
copyfile(pchar(s4),pchar(f4),false);
ProgressBar1.Position:=4;
copyfile(pchar(s5),pchar(f5),false);
ProgressBar1.Position:=5;
copyfile(pchar(s6),pchar(f6),false);
ProgressBar1.Position:=6;
copyfile(pchar(s7),pchar(f7),false);
ProgressBar1.Position:=7;
copyfile(pchar(s9),pchar(f9),false);
ProgressBar1.Position:=8;
copyfile(pchar(s10),pchar(f10),false);
ProgressBar1.Position:=9;
copyfile(pchar(s11),pchar(f11),false);
ProgressBar1.Position:=10;
copyfile(pchar(s12),pchar(f12),false);
ProgressBar1.Position:=11;
copyfile(pchar(s17),pchar(f17),false);
ProgressBar1.Position:=12;
copyfile(pchar(s18),pchar(f18),false);
ProgressBar1.Position:=13;
copyfile(pchar(s19),pchar(f19),false);
ProgressBar1.Position:=14;
copyfile(pchar(s20),pchar(f20),false);
ProgressBar1.Position:=15;
copyfile(pchar(s21),pchar(f21),false);
ProgressBar1.Position:=16;
copyfile(pchar(s22),pchar(f22),false);
ProgressBar1.Position:=17;
copyfile(pchar(s23),pchar(f23),false);
ProgressBar1.Position:=18;
copyfile(pchar(s13),pchar(f13),false);
ProgressBar1.Position:=19;
copyfile(pchar(s14),pchar(f14),false);
ProgressBar1.Position:=20;
if application.MessageBox('数据已恢复,启动"职工工资管理系统"吗?','信息',mb_okcancel+mb_iconinformation)=idok then
shellexecute(application.Handle,'open',pchar(s+'\职工工资管理系统.exe'),'','',SW_SHOW);
end;
halt;
end
else
begin
if application.MessageBox('密码错误','注意',mb_ok+mb_iconquestion)=idok then
begin
c:=c+1;
if c>3 then
halt;
end;
end;
end;
end;
end;
procedure Tstart.ComboBox1Change(Sender: TObject);
begin
button5.Enabled:=true;
end;
procedure Tstart.Button3Click(Sender: TObject);
begin
if application.MessageBox('确实要退出数据恢复吗?','信息',mb_okcancel+mb_iconquestion)=idok then
halt;
end;
procedure Tstart.FormClose(Sender: TObject; var Action: TCloseAction);
begin
user.Active:=false;
end;
procedure Tstart.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
button5.Click;
end;
procedure Tstart.FormPaint(Sender: TObject);
var a,b:real;
i:integer;
begin
a:=clientheight/256;
b:=0;
for i:=255 downto 0 do
begin
canvas.Brush.Color:=$000000000+i*$10000;
canvas.FillRect(rect(0,round(b),clientwidth,round(a+b)));
b:=b+a;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -