⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zcfzsjhf.pas

📁 本程序功能是将银行系统的月计表转换为所需要的资产负债表
💻 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 + -