📄 unit123.pas
字号:
unit Unit123;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
VCLBase, EffBtns, StdCtrls, TFlatEditUnit,FileCtrl,shellapi;
type
TForm123 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
FlatEdit1: TFlatEdit;
FlatEdit2: TFlatEdit;
epEfTrBtn1: TepEfTrBtn;
epEfTrBtn2: TepEfTrBtn;
epEfTrBtn3: TepEfTrBtn;
OpenDialog1: TOpenDialog;
procedure epEfTrBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure epEfTrBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure epEfTrBtn2Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form123: TForm123;
implementation
uses cardata;
{$R *.DFM}
procedure helpcarsale(var key:word); {显示帮助文件}
var shelpfile:string;
begin
if key=vk_f1 then
begin
sHelpFile:=ExtractFilePath(Application.ExeName)+'cardata\carsale.chm';
ShellExecute(0,'open',pchar(shelpfile),nil,nil,SW_SHOWNORMAL);
end;
end;
function StrToPch(Str:string):PChar;
var
a:PChar;
begin
a:=StrAlloc(Length(Str)+1);
StrPCopy(a,Str);
StrToPch:=a;
end;
procedure TForm123.epEfTrBtn3Click(Sender: TObject);
begin
form123.release;
end;
procedure TForm123.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form123.free;
end;
procedure TForm123.epEfTrBtn1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
flatedit1.text:=opendialog1.filename;
end;
end;
procedure TForm123.FormShow(Sender: TObject);
var
aliaspath:string;
begin
flatedit1.text:='';
flatedit2.text:='';
aliaspath:=ExtractFilePath(Application.ExeName)+'cardata\carsale.mdb';
flatedit2.text:=aliaspath;
//第一行就是路径
end;
procedure TForm123.epEfTrBtn2Click(Sender: TObject);
var s1,s2,s3:string;
f:boolean;
i,i1,i2:integer;
begin
if flatedit1.text='' then
begin
showmessage('请选择还原的数据文件');
end
else
begin
if messagedlg('你是否还原到以前的备份数据吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
if messagedlg('请再次确定你是还原的数据是否准确,如果不是将造成数据的损失和系统的崩溃,请确定',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
s1:=flatedit1.text;
s2:=flatedit2.text;
i:=length(s1);
i1:=i-10;
for i2:=i1 to i do
begin
s3:=s3+s1[i2];
end;
if s3<>'carsale.mdb' then
begin
showmessage('选取的文件不是原先备份的文件,请重新选择');
end
else
begin
try
with data do
begin
session1.active:=false;
repertorytable.active:=false;
repertoryquery.active:=false;
salequery.active:=false;
comquery.active:=false;
usestable.active:=false;
usesquery.active:=false;
saletable.active:=false;
salequery1.active:=false;
repsatable.active:=false;
profittable.active:=false;
profitquery.active:=false;
cartypetable.active:=false;
colortable.active:=false;
springtable.active:=false;
usetypetable.active:=false;
database.connected:=false;
database.KeepConnection:=false;
end;
copyfile(StrToPch(s1),strtopch(s2),true);
showmessage('还原成功');
with data do
begin
database.connected:=true;
Database.keepconnection:=true;
repertorytable.active:=true;
repertoryquery.active:=true;
salequery.active:=true;
comquery.active:=true;
usestable.active:=true;
usesquery.active:=true;
saletable.active:=true;
salequery1.active:=true;
repsatable.active:=true;
profittable.active:=true;
profitquery.active:=true;
cartypetable.active:=true;
colortable.active:=true;
springtable.active:=true;
usetypetable.active:=true;
session1.Active:=true;
end;
{}
except
showmessage('还原失败');
end;
end;
end;
end;
end;
end;
procedure TForm123.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
helpcarsale(key);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -