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

📄 dest.tmp

📁 DELPHI DFM资源文件内码批量转换程序
💻 TMP
字号:
unit rl01p;

interface

uses
  Windows, Messages, SysUtils,DateUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ComCtrls, StdCtrls, Spin, Buttons, ToolWin,
  ExtCtrls, ImgList, DB, DBTables;

type
  Trl01f = class(TForm)
    DBGrid1: TDBGrid;
    StatusBar1: TStatusBar;
    CoolBar1: TCoolBar;
    spexit: TSpeedButton;
    spdele: TSpeedButton;
    Spnew: TSpeedButton;
    DTPicker1: TDateTimePicker;
    SpinButton1: TSpinButton;
    CkBox: TCheckBox;
    procedure DTPicker1Change(Sender: TObject);
    procedure SpinButton1DownClick(Sender: TObject);
    procedure SpinButton1UpClick(Sender: TObject);
    procedure spexitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CkBoxClick(Sender: TObject);
    procedure SpnewClick(Sender: TObject);
    procedure spdeleClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    fDate:TDateTime;
    fCkDoNothing:boolean;
    procedure RefreshForm;
    { Public declarations }
  end;

var
  rl01f: Trl01f;

implementation
uses datap,global;
{$R *.dfm}

procedure Trl01f.RefreshForm;
begin
  try
    if datamod.f222.State=dsInactive then
      datamod.f222.Open;
    if datamod.f224.State=dsInactive then
    begin
      datamod.f224.ParamByName('DATE').AsString:=DatetoStr(date());
      datamod.f224.Open;
    end;
  except
    PostMessage(self.Handle,WM_CLOSE,0,0);
    ShowMessage('错误!打开数据库表时产生错误!');
  end;
  if datamod.f222.Locate('DATE',fDate,[]) then
  begin
    self.fCkDoNothing:=true;
    self.CkBox.Checked:=true;
    self.fCkDoNothing:=false;
  end
  else
  begin
    self.fCkDoNothing:=true;
    self.CkBox.Checked:=false;
    self.fCkDoNothing:=false;
  end;
  datamod.f224.ApplyUpdates;
  datamod.f224.CommitUpdates;
  datamod.f224.Close;
  datamod.f224.ParamByName('DATE').AsString:=DateToStr(fDate);
  datamod.f224.Open;
  datamod.f224.First;
  if datamod.f224.IsEmpty then
    dbGrid1.Enabled:=false
  else
    dbGrid1.Enabled:=true;
  self.StatusBar1.Panels[0].Text:='当前用户:'+puser;
  self.StatusBar1.Panels[1].Text:='登录时间:'+logintime;
  self.StatusBar1.Panels[2].Text:='总记录数:'+inttostr(datamod.f224.RecordCount);  
end;
procedure Trl01f.DTPicker1Change(Sender: TObject);
begin
  Self.fDate:=self.DTPicker1.DateTime;
  self.RefreshForm;
end;

procedure Trl01f.SpinButton1DownClick(Sender: TObject);
begin
  self.fDate:=self.fDate-1;
  self.DTPicker1.DateTime:=self.fDate;
  self.RefreshForm;
end;

procedure Trl01f.SpinButton1UpClick(Sender: TObject);
begin
  self.fDate:=self.fDate+1;
  self.DTPicker1.DateTime:=self.fDate;  
  self.RefreshForm;
end;

procedure Trl01f.spexitClick(Sender: TObject);
begin
  Close;
end;

procedure Trl01f.FormShow(Sender: TObject);
begin
  fDate:=Date();
  self.DTPicker1.DateTime:=fDate;
  fCkDoNothing:=false;
  try
    datamod.qtmp.close;
    datamod.qtmp.SQL.Clear;
    datamod.qtmp.SQL.Add('UPDATE basedept SET TMP=''本厂'' WHERE TYPE<>''N''');
    datamod.qtmp.ExecSQL;
    datamod.qtmp.Close;
    datamod.qtmp.SQL.Clear;
    datamod.qtmp.SQL.Add('UPDATE basedept SET TMP=''外协厂'' WHERE TYPE=''N''');
    datamod.qtmp.ExecSQL;
  except
    postMessage(self.Handle,WM_CLOSE,0,0);
  end;  
  self.RefreshForm;
end;

procedure Trl01f.CkBoxClick(Sender: TObject);
var
  IsError:boolean;
  sql1:string;
begin
//if not self.fCkDoNothing then
//begin
    if CkBox.Checked then
    begin
      if not datamod.f222.Locate('DATE',fDate,[]) then
      begin
          try
            datamod.f222.Append;
            datamod.f222.FieldByName('DATE').AsDateTime :=fDate;
            datamod.f222.Post;
            isError:=false;
          except
            isError:=True;
          end;
          if not isError then
          begin
            try
              sql1:='DELETE f224 WHERE DATE=:DATE';
              datamod.qtmp.Close;
              datamod.qtmp.SQL.Clear;
              datamod.qtmp.SQL.Add(sql1);
              datamod.qtmp.ParamByName('DATE').AsString:=datetostr(fDate);
              datamod.qtmp.ExecSQL;
            except
              ShowMessage('错误!删除当前日期部门行事历时产生错误!');
            end;
          end;
          self.RefreshForm;
      end;
    end
    else
    begin
      if datamod.f222.Locate('DATE',fDate,[]) then
      begin
          try
            datamod.f222.Delete;
            sql1:='DELETE f224 WHERE DATE=:DATE';
            datamod.qtmp.Close;
            datamod.qtmp.SQL.Clear;
            datamod.qtmp.SQL.Add(sql1);
            datamod.qtmp.ParamByName('DATE').AsString:=datetostr(fDate);
            datamod.qtmp.ExecSQL;
            sql1:='INSERT f224 (DEPT_NO,DATE,WORKTIME)'+
              'SELECT DEPT_NO,:DATE AS PDATE,8 AS WORK FROM basedept';
            datamod.qtmp.Close;
            datamod.qtmp.SQL.Clear;
            datamod.qtmp.SQL.Add(sql1);
            datamod.qtmp.ParamByName('DATE').AsString:=DateToStr(fDate);
            datamod.qtmp.ExecSQL;
          except
          end;
          self.RefreshForm;
      end;
    end;
//end;
end;

procedure Trl01f.SpnewClick(Sender: TObject);
var
  sql1:string;
begin
  if not datamod.f222.Locate('DATE',fDate,[]) then
  begin
    try
      sql1:='DELETE f224 WHERE DATE=:DATE';
      datamod.qtmp.Close;
      datamod.qtmp.SQL.Clear;
      datamod.qtmp.SQL.Add(sql1);
      datamod.qtmp.ParamByName('DATE').AsString:=datetostr(fDate);
      datamod.qtmp.ExecSQL;
      sql1:='INSERT f224 (DEPT_NO,DATE,WORKTIME)'+
         'SELECT DEPT_NO,:DATE AS PDATE,8 AS WORK FROM basedept';
      datamod.qtmp.Close;
      datamod.qtmp.SQL.Clear;
      datamod.qtmp.SQL.Add(sql1);
      datamod.qtmp.ParamByName('DATE').AsString:=DateToStr(fDate);
      datamod.qtmp.ExecSQL;
    except
      ShowMessage('错误!执行新增操作产生错误!');
    end;
    self.RefreshForm;
  end
  else
    ShowMessage('操作失败!当前日期已设为假日,不能执行此操作!');
end;

procedure Trl01f.spdeleClick(Sender: TObject);
var
  sql1:string;
begin
  if not datamod.f222.Locate('DATE',fDate,[]) then
  begin
    try
      sql1:='DELETE f224 WHERE DATE=:DATE';
      datamod.qtmp.Close;
      datamod.qtmp.SQL.Clear;
      datamod.qtmp.SQL.Add(sql1);
      datamod.qtmp.ParamByName('DATE').AsString:=datetostr(fDate);
      datamod.qtmp.ExecSQL;
    except
      ShowMessage('错误!执行删除操作时产生错误!');
    end;
    self.RefreshForm;      
  end
  else
    ShowMessage('操作失败!当前日期已设为假日,不能执行此操作!');

end;

procedure Trl01f.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  datamod.f222.Close;
  datamod.f224.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -