📄 ux_sjbf.pas
字号:
unit ux_sjbf;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, ExtCtrls,ux_sjbf1, Db, DBTables;
type
Tx_sjbf = class(TForm)
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
yysj_qb: TRadioButton;
yysj_sd: TRadioButton;
yysj_bf: TBitBtn;
yysj_hf: TBitBtn;
p_yysj_sd: TPanel;
yysj_d1: TDateTimePicker;
Label1: TLabel;
yysj_d2: TDateTimePicker;
TabSheet2: TTabSheet;
ctbz_bf: TBitBtn;
ctbz_hf: TBitBtn;
TabSheet3: TTabSheet;
yycp_bf: TBitBtn;
yycp_hf: TBitBtn;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
yhyd_bf: TBitBtn;
yhyd_hf: TBitBtn;
ckzl_bf: TBitBtn;
ckzl_hf: TBitBtn;
bz_bf: TBitBtn;
bz_hf: TBitBtn;
t_cl: TTable;
t_clClh: TStringField;
t_clClm: TStringField;
t_clDzl: TFloatField;
t_clLBH: TStringField;
t_cy: TTable;
t_cyCH: TStringField;
t_cyClh: TStringField;
t_cyMc: TStringField;
t_cyZjm: TStringField;
t_cyGg: TStringField;
t_cyDj: TFloatField;
t_cyBz: TStringField;
t_cyDzl: TFloatField;
t_cyLbh: TStringField;
t_bzc: TTable;
t_bzcBzbh: TStringField;
t_bzcBzmc: TStringField;
t_bzcBzbz: TFloatField;
t_bzcZzr: TStringField;
t_bzcZzrq: TDateTimeField;
t_bzcBz: TStringField;
t_bzccd: TTable;
t_bzccdBh: TIntegerField;
t_bzccdBzbh: TStringField;
t_bzccdCh: TStringField;
t_bzccdCm: TStringField;
t_bzccdGg: TStringField;
t_bzccdDj: TFloatField;
t_bzccdSl: TFloatField;
t_bzccdDzl: TFloatField;
t_bzccdHj: TFloatField;
t_bzccdClh: TStringField;
t_bzccdLbh: TStringField;
T_yhyd: TTable;
T_yhydYddh: TStringField;
T_yhydYdrq: TDateTimeField;
T_yhydYhrq: TStringField;
T_yhydYhsj: TStringField;
T_yhydTht: TStringField;
T_yhydThts: TStringField;
T_yhydCkbh: TStringField;
T_yhydDw: TStringField;
T_yhydDz: TStringField;
T_yhydLxr: TStringField;
T_yhydZw: TStringField;
T_yhydDh: TStringField;
T_yhydKrzs: TIntegerField;
T_yhydYdzs: TIntegerField;
T_yhydYhbz: TFloatField;
T_yhydDj: TFloatField;
T_yhydJzfs: TStringField;
T_yhydJdr: TStringField;
T_yhydCbr: TStringField;
T_yhydKryq: TStringField;
T_yhydSjrs: TIntegerField;
T_yhydXhs: TIntegerField;
T_yhydCzyh: TStringField;
T_yhydFwfl: TFloatField;
T_yhydDzl: TFloatField;
T_yhydYhje: TFloatField;
T_yhydSjje: TFloatField;
T_yhydBz: TStringField;
T_yhydY_n: TBooleanField;
t_yhydcd: TTable;
t_yhydcdBh: TIntegerField;
t_yhydcdYDDh: TStringField;
t_yhydcdCh: TStringField;
t_yhydcdCm: TStringField;
t_yhydcdGg: TStringField;
t_yhydcdDj: TFloatField;
t_yhydcdSl: TFloatField;
t_yhydcdDzl: TFloatField;
t_yhydcdHj: TFloatField;
t_yhydcdClh: TStringField;
t_yhydcdLbh: TStringField;
t_ckzl: TTable;
t_ckzlCkbh: TStringField;
t_ckzlDwmc: TStringField;
t_ckzlZjm: TStringField;
t_ckzlXfcs: TIntegerField;
t_ckzlXfze: TFloatField;
t_ckzlXydj: TStringField;
t_ckzlDwxz: TStringField;
t_ckzlDwdz: TStringField;
t_ckzlYzbm: TStringField;
t_ckzlKhyh: TStringField;
t_ckzlZh: TStringField;
t_ckzlDbxm: TStringField;
t_ckzlXb: TStringField;
t_ckzlDh: TStringField;
t_ckzlChh: TStringField;
t_ckzlSj: TStringField;
t_ckzlEmail: TStringField;
t_ckzlCsrq: TDateTimeField;
t_ckzlQldj: TStringField;
t_ckzlZw: TStringField;
cd1: TTable;
cd1Cdbh: TStringField;
DateTimeField1: TDateTimeField;
DateTimeField2: TDateTimeField;
cd1YyLX: TStringField;
cd1Srlb: TStringField;
StringField9: TStringField;
StringField10: TStringField;
StringField11: TStringField;
IntegerField1: TIntegerField;
StringField14: TStringField;
StringField15: TStringField;
StringField16: TStringField;
cd1ZJ: TFloatField;
FloatField10: TFloatField;
FloatField7: TFloatField;
FloatField8: TFloatField;
FloatField11: TFloatField;
cd1Sfbz: TFloatField;
FloatField6: TFloatField;
cd1Jzrq: TDateTimeField;
DateTimeField3: TDateTimeField;
cd1JZFS: TStringField;
cd1Qdjz: TStringField;
FloatField9: TFloatField;
StringField19: TStringField;
StringField20: TStringField;
cd1Pzrh: TStringField;
cd1Qdrm: TStringField;
StringField12: TStringField;
StringField13: TStringField;
cdmx1: TTable;
cdmx1Bh: TIntegerField;
cdmx1CDBH: TStringField;
StringField24: TStringField;
StringField25: TStringField;
StringField26: TStringField;
FloatField12: TFloatField;
FloatField13: TFloatField;
cdmx1hj: TFloatField;
cdmx1Dzl: TFloatField;
StringField27: TStringField;
StringField28: TStringField;
StringField29: TStringField;
StringField30: TStringField;
StringField31: TStringField;
cdmx1Pzrh: TStringField;
FloatField14: TFloatField;
StringField33: TStringField;
t_t: TTable;
t_tFDBH: TStringField;
t_tTH: TStringField;
t_tTM: TStringField;
t_tSfbj: TStringField;
t_tai: TTable;
t_taiTH: TStringField;
t_taiTHT: TStringField;
t_taiFDBH: TStringField;
t_taiZWS: TIntegerField;
t_taiFWFL: TFloatField;
t_taiDZL: TFloatField;
t_taiSfbz: TFloatField;
t_taiZdxf: TFloatField;
t_taiFWYH: TStringField;
t_taiFwym: TStringField;
t_taiSfbj: TStringField;
t_taiZT: TStringField;
SaveDialog2: TSaveDialog;
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure yysj_hfClick(Sender: TObject);
procedure yysj_bfClick(Sender: TObject);
procedure yysj_qbClick(Sender: TObject);
procedure yysj_sdClick(Sender: TObject);
procedure ctbz_bfClick(Sender: TObject);
procedure ctbz_hfClick(Sender: TObject);
procedure yycp_bfClick(Sender: TObject);
procedure yycp_hfClick(Sender: TObject);
procedure yhyd_bfClick(Sender: TObject);
procedure yhyd_hfClick(Sender: TObject);
procedure bz_bfClick(Sender: TObject);
procedure bz_hfClick(Sender: TObject);
procedure ckzl_bfClick(Sender: TObject);
procedure ckzl_hfClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_Name:string[70]; //当前打开文件的文件名
R_Count1:Integer; //当前打开文件的记录总数
R_Count2:Integer; //当前打开文件的记录总数
x_sjbf: Tx_sjbf;
implementation
uses u_main, uxtxx, ug_wait;
{$R *.DFM}
procedure Tx_sjbf.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tx_sjbf.FormShow(Sender: TObject);
begin
if not t_cl.Active then t_cl.Active:=true;
if not t_cy.Active then t_cy.Active:=true;
if not t_ckzl.Active then t_ckzl.Active:=true;
if not t_bzc.Active then t_bzc.Active:=true;
if not t_bzccd.Active then t_bzccd.Active:=true;
if not cd1.Active then cd1.Active:=true;
if not cdmx1.Active then cdmx1.Active:=true;
if not t_yhyd.Active then t_yhyd.Active:=true;
if not t_yhydcd.Active then t_yhydcd.Active:=true;
if not t_t.Active then t_t.Active:=true;
if not t_tai.Active then t_tai.Active:=true;
if y_n=0 then
begin
yysj_bf.Visible:=true;
yysj_hf.Visible:=false;
ctbz_bf.Visible:=true;
ctbz_hf.Visible:=false;
yycp_bf.Visible:=true;
yycp_hf.Visible:=false;
yhyd_bf.Visible:=true;
yhyd_hf.Visible:=false;
ckzl_bf.Visible:=true;
ckzl_hf.Visible:=false;
bz_bf.Visible:=true;
bz_hf.Visible:=false;
end
else
begin
yysj_hf.Visible:=true;
yysj_bf.Visible:=false;
ctbz_hf.Visible:=true;
ctbz_bf.Visible:=false;
yycp_hf.Visible:=true;
yycp_bf.Visible:=false;
yhyd_hf.Visible:=true;
yhyd_bf.Visible:=false;
ckzl_hf.Visible:=true;
ckzl_bf.Visible:=false;
bz_hf.Visible:=true;
bz_bf.Visible:=false;
end;
PageControl1.ActivePage:=Tabsheet1;
g_wait.close;
end;
procedure Tx_sjbf.yysj_hfClick(Sender: TObject);
var
i:integer;
begin
OpenDialog1.Title:='打开营业数据备份文件:';
if OpenDialog1.Execute then F_Name := OpenDialog1.FileName else exit;
AssignFile(cd,F_name);
try
Reset(cd);
except
On EInOutError do
if FileExists(F_Name) = False then
begin
messagebox(handle,'备份文件没有找到!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end
else
begin
messagebox(handle,'备份文件不能打开!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
end;
R_Count1 := FileSize(cd);
seek(cd,0); //判断文件标志
Read(cd,cdRec);
if cdRec.fbz<>'yysj1' then
begin
messagebox(handle,'此文件不是营业数据备份文件!','系统提示信息',MB_OK+MB_ICONWARNING);
closefile(cd);
exit;
end;
if r_count1=0 then
begin
messagebox(handle,'备份文件为空!','系统提示信息',MB_OK+MB_ICONWARNING);
closefile(cd);
exit;
end;
F_Name := ChangeFileExt(f_name, '.HB1');
AssignFile(cdmx,F_name);
try
Reset(cdmx);
except
On EInOutError do
if FileExists(F_Name) = False then
begin
messagebox(handle,'配置备份文件没有找到!','系统提示信息',MB_OK+MB_ICONWARNING);
closefile(cd);
exit;
end
else
begin
messagebox(handle,'配置备份文件不能打开!','系统提示信息',MB_OK+MB_ICONWARNING);
closefile(cd);
exit;
end;
end;
R_Count2 := FileSize(cdmx);
seek(cdmx,0); //判断文件标志
Read(cdmx,cdmxRec);
if cdmxRec.fbz<>'yysj2' then
begin
messagebox(handle,'配置备份文件已改变!','系统提示信息',MB_OK+MB_ICONWARNING);
closefile(cd);
closefile(cdmx);
exit;
end;
if r_count2=0 then
begin
messagebox(handle,'配置备份文件为空!','系统提示信息',MB_OK+MB_ICONWARNING);
closefile(cd);
closefile(cdmx);
exit;
end;
if (cd1.recordcount<>0) or (cdmx1.recordcount<>0) then
if messagebox(handle,'有部分或全部数据已存在!,覆盖吗?!','系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then
begin
main.h_del('delete from cd1');
main.h_del('delete from cdmx1');
end
else
begin
closefile(cd);
closefile(cdmx);
exit;
end;
g_xtxx.show;
g_xtxx.ProgressBar1.max:=R_count1+R_count2+r_count1;
g_xtxx.m1.caption:='正在恢复营业数据, 请稍侯...';
g_xtxx.Update;
try
with cd1,cdrec do
begin
first;
for i:=0 to R_count1-1 do
begin
append;
seek(cd,i);
Read(cd,cdRec);
fieldbyname('cdbh').value:=cdbh;
fieldbyname('fdbh').value:=fdbh;
fieldbyname('ycrq').value:=ycrq;
fieldbyname('ycsj').value:=ycsj;
fieldbyname('yylx').value:=yylx;
fieldbyname('srlb').value:=srlb;
fieldbyname('th').value:=th;
fieldbyname('tht').value:=tht;
fieldbyname('krs').value:=krs;
fieldbyname('fwyh').value:=fwyh;
fieldbyname('skyh').value:=skyh;
fieldbyname('zj').value:=zj;
fieldbyname('xj').value:=xj;
fieldbyname('fwf').value:=fwf;
fieldbyname('zkf').value:=zkf;
fieldbyname('zsje').value:=zsje;
fieldbyname('ssje').value:=ssje;
fieldbyname('jzrq').value:=jzrq;
fieldbyname('jzsj').value:=jzsj;
fieldbyname('jzfs').value:=jzfs;
fieldbyname('qdjz').value:=qdjz;
fieldbyname('skje').value:=skje;
fieldbyname('zt').value:=zt;
fieldbyname('skth').value:=skth;
fieldbyname('pzrh').value:=pzrh;
fieldbyname('qdrm').value:=qdrm;
fieldbyname('ckbh').value:=ckbh;
fieldbyname('dbxm').value:=dbxm;
g_xtxx.ProgressBar1.StepBy(i);
g_xtxx.Update;
end;
post;
end;
with cdmx1,cdmxrec do
begin
first;
for i:=0 to r_count2-1 do
begin
append;
seek(cdmx,i);
Read(cdmx,cdmxRec);
fieldbyname('bh').value:=bh;
fieldbyname('cdbh').value:=cdbh;
fieldbyname('clh').value:=clh;
fieldbyname('ch').value:=ch;
fieldbyname('cm').value:=cm;
fieldbyname('dj').value:=dj;
fieldbyname('sl').value:=sl;
fieldbyname('hj').value:=hj;
fieldbyname('dzl').value:=dzl;
fieldbyname('gg').value:=gg;
fieldbyname('srlb').value:=srlb;
fieldbyname('cz').value:=cz;
fieldbyname('tcyyh').value:=tcyyh;
fieldbyname('tcyy').value:=tcyy;
fieldbyname('pzrh').value:=pzrh;
fieldbyname('tsl').value:=tsl;
fieldbyname('lbh').value:=lbh;
g_xtxx.ProgressBar1.StepBy(R_count1+i);
g_xtxx.Update;
end;
post;
end;
except
closefile(cd);
closefile(cdmx);
g_xtxx.close;
messagebox(handle,'营业数据恢复失败!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
closefile(cd);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -