📄 zcfzsjhf.pas
字号:
unit ZCFZSjhf;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComObj, Mask, ComCtrls, DB, variants, ExtCtrls,
bsSkinBoxCtrls, bsSkinCtrls, BusinessSkinForm, bsfilectrl;
type
TZCFZSjhfFrm = class(TForm)
DateTimePicker1: TDateTimePicker;
bsBusinessSkinForm1: TbsBusinessSkinForm;
Button1: TbsSkinButton;
Label3: TbsSkinStdLabel;
Button2: TbsSkinButton;
bsSkinDirectoryListBox1: TbsSkinDirectoryListBox;
bsSkinFileListBox1: TbsSkinFileListBox;
bsSkinStdLabel1: TbsSkinStdLabel;
bsSkinStdLabel2: TbsSkinStdLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ZCFZSjhfFrm: TZCFZSjhfFrm;
j: integer;
implementation
uses ZCFZ_DataModel, ZCFZ_BS, FunctionModel;
{$R *.DFM}
procedure TZCFZSjhfFrm.Button1Click(Sender: TObject);
var
s, s1, s2, fileLj1: string;
year1, month1, day1: Word;
jd1: Integer;
begin
DecodeDate(DateTimePicker1.Date, Year1, Month1, Day1);
with ZCFZ_DM do
begin
fileLj1 := 'c:\zcfzTmpData\'; //临时路径名
ZCFZ_Qry.SQL.Clear;
s1 := FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date);
s := 'select QUARTER(''' + s1 + ''') as jd ';
ZCFZ_Qry.SQL.Add(s);
ZCFZ_Qry.Active := True; //求出工作日期的季度数
jd1 := ZCFZ_Qry['jd'];
s := Format('ZcfzZcfzb%d_%2.2d.txt', [Year1, jd1]);
s1 := Format('ZcfzYjb%d_%2.2d.txt', [Year1, month1]);
FileLj := bsSkinDirectoryListBox1.Directory;
if not FileExists(FileLj + '\' + s) then
begin
bsSkinMessage1.MessageDlg('你选择的目录中没有“' + s +
'”文件,请重新选择!', mtWarning, [mbOk], 0);
Exit;
end
else
begin
//将资产负债的备份文件写入到相应表中
s2 := 'delete from zcfzxmb';
ZCFZ_SQLPrc.Script.Text := s2;
ZCFZ_SQLPrc.Execute;
try
{$I-}
MkDir('c:\zcfzTmpData');
CopyFile(PChar(FileLj + '\' + s), pchar(FileLj1 + s), True);
s2 := replacesub(
format('LOAD DATA LOCAL INFILE ''%s'' INTO TABLE zcfzxmb FIELDS TERMINATED BY ''%s''',
[FileLj1 + s, ',']), '\', '/');
s2 := s2 + ' LINES TERMINATED BY ''\r\n''';
ZCFZ_SQLPrc.Script.Text := s2;
ZCFZ_SQLPrc.Execute;
finally
Deletefile(FileLj1 + s);
RmDir('c:\cwfxTmpData');
end;
end;
if not FileExists(FileLj + '\' + s1) then
begin
bsSkinMessage1.MessageDlg('你选择的目录中没有“' + s1 +
'”文件,请重新选择!', mtWarning, [mbOk], 0);
Exit;
end
else
begin
s2 := 'delete from zcfzyjb';
ZCFZ_SQLPrc.Script.Text := s2;
ZCFZ_SQLPrc.Execute;
try
{$I-}
MkDir('c:\zcfzTmpData');
CopyFile(PChar(FileLj + '\' + s1), pchar(FileLj1 + s1), True);
s2 := replacesub(
format('LOAD DATA LOCAL INFILE ''%s'' INTO TABLE zcfzyjb FIELDS TERMINATED BY ''%s''',
[FileLj1 + s1, ',']), '\', '/');
s2 := s2 + ' LINES TERMINATED BY ''\r\n''';
ZCFZ_SQLPrc.Script.Text := s2;
ZCFZ_SQLPrc.Execute;
ZCFZ_QryEdit.SQL.Clear;
s := Format('select * from zcfzgzrq where yhbh=''%s''', [workId]);
ZCFZ_QryEdit.SQL.Add(s);
ZCFZ_QryEdit.Active := True;
ZCFZ_QryEdit.Edit;
ZCFZ_QryEdit['gzrq'] := FormatDateTime('yyyy-mm-dd',
DateTimePicker1.Date);
ZCFZ_QryEdit.Post;
finally
Deletefile(FileLj1 + s1);
RmDir('c:\cwfxTmpData');
end;
end;
ZCFZ_QryEdit.SQL.Clear;
s := ' select * from zcfzgzrq';
ZCFZ_QryEdit.SQL.Add(s);
ZCFZ_QryEdit.Active := True;
ZCFZ_QryEdit.Edit;
ZCFZ_QryEdit['gzrq'] := FormatDateTime('yyyy-mm-dd',
DateTimePicker1.Date);
WorkDate := DateTimePicker1.Date;
DecodeDate(WorkDate, Year, Month, Day);
ZCFZ_QryEdit.Post;
ZCFZ_Qry.SQL.Clear;
s1 := FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date);
s := 'select QUARTER(''' + s1 + ''') as jd ';
ZCFZ_Qry.SQL.Add(s);
ZCFZ_Qry.Active := True; //求出工作日期的季度数
jd := ZCFZ_Qry['jd'];
bsSkinMessage1.MessageDlg('数据恢复完毕!', mtInformation, [mbOk], 0);
Close;
end;
end;
procedure TZCFZSjhfFrm.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TZCFZSjhfFrm.FormCreate(Sender: TObject);
begin
DateTimePicker1.Date := Now;
bsSkinDirectoryListBox1.Directory := MySQLPath;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -