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

📄 awardnote.pas

📁 1. 纯粹的合同管理,不涉及其它业务,独立成系统2. 简单明了,流程清析3. 合同条款可预定制4. 丰富强大的打印预览系统5. 实用的导入导出功能,可与excel交互使用6. 时刻追踪合同执行情况,包
💻 PAS
字号:
unit AwardNote;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TEMPLETFORM, HemisphereButton, Grids, DBGrids, ComCtrls, Menus,
  ToolWin, StdCtrls, ExtCtrls, DBActns, ActnList, DB, ADODB;

type
  TAwardNoteForm = class(TMyForm)
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    HemiBtn2: THemiBtn;
    GroupBox2: TGroupBox;
    palNewAward: TPanel;
    DBGrid2: TDBGrid;
    ActionList1: TActionList;
    ADOTAward: TADOTable;
    ADOTAwardItem: TADOTable;
    ADOQMember: TADOQuery;
    DSMember: TDataSource;
    DataSetStartAward: TDataSetDelete;
    rg: TRadioGroup;
    rb3: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    dtpStart: TDateTimePicker;
    dtpEnd: TDateTimePicker;
    rb1: TGroupBox;
    Edit5: TEdit;
    rb2: TGroupBox;
    ComboBox2: TComboBox;
    Edit3: TEdit;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    Edit4: TEdit;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Label5: TLabel;
    HemiBtn_Locate: THemiBtn;
    HemiBtn3: THemiBtn;
    HemiBtn4: THemiBtn;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    Action_Locate: TAction;
    procedure rgClick(Sender: TObject);
    procedure HemiBtn4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure DataSetStartAwardExecute(Sender: TObject);
    procedure HemiBtn2Click(Sender: TObject);
    procedure Action_LocateExecute(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  AwardNoteForm: TAwardNoteForm;

implementation

uses data;

{$R *.dfm}

procedure TAwardNoteForm.rgClick(Sender: TObject);
begin
  inherited;
  if rg.ItemIndex =3 then
    rb3.Visible :=true
  else begin
    rb3.Visible :=false;
    if rg.ItemIndex =4 then
      rb2.Visible :=true
    else
      rb2.Visible :=false;
  end;
end;

procedure TAwardNoteForm.HemiBtn4Click(Sender: TObject);
begin
  inherited;
  DBGrid1.Visible :=true;
end;

procedure TAwardNoteForm.FormCreate(Sender: TObject);
begin
  inherited;
  Statusbar1.Panels[2].Text := CopyRight;
  DM.ADOQAward.Active :=true;
end;

procedure TAwardNoteForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  Action:=caFree;
end;

procedure TAwardNoteForm.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if not(Key in ['0'..'9',#8,#13]) then
    begin
      Key:=#0;
      Beep;
    end;
end;

procedure TAwardNoteForm.DataSetStartAwardExecute(Sender: TObject);
var
  awardNo:integer;
begin
  inherited;
  if trim(DM.ADOCmdAward.CommandText)<>'' then
  begin
    if trim(edit2.Text)<>'' then
    begin
      try
        DM.ADOCmdAward.Parameters.ParamByName('@usedTime').Value :=StrToInt(Edit2.Text);
        DM.ADOCmdAward.Execute;
      finally
        DM.ADOCmdAward.CommandText :='';
        with ADOTAwardItem do
        begin
          Active:=true;
          Append;
          FieldByName('AType').AsString :=Combobox1.text;
          FieldByName('ADate').AsDateTime:=DateTimePicker1.Date;
          FieldByName('AReason').AsString :=Edit1.Text;
          FieldByName('ATime').AsInteger :=StrToInt(Edit2.Text);
          FieldByName('AMemo').AsString :=Memo1.Text;
          post;
          awardNo:=FieldValues['awardNo'];
        end;
        ADOQMember.First;
        ADOTAward.Active :=true;
        while not ADOQMember.Eof do
        begin
          ADOTAward.Append;
          ADOTAward.FieldValues['stuNo']:=ADOQMember.FieldValues['卡号'];
          ADOTAward.FieldValues['awardNo']:=awardNo;
          ADOTAward.Post;
          ADOQMember.Next;
        end;
        ShowMessage('处理完成');
        DM.ADOQAward.Active :=false;
        DM.ADOQAward.Active :=true;
        DBGrid1.Visible :=true;
      end;
    end
    else
      ShowMessage('请输入奖罚机时量!');
  end
  else
    ShowMessage('请先指定条件!');
end;

procedure TAwardNoteForm.HemiBtn2Click(Sender: TObject);
begin
  inherited;
  DBGrid1.Visible :=false;
end;

procedure TAwardNoteForm.Action_LocateExecute(Sender: TObject);
var
  strWhere:string;
  strOrder:string;
  strCmd:Widestring;
begin
  inherited;
  case rg.ItemIndex of
  0:  begin
        strWhere:='Where stuNo='+''''+trim(Edit1.Text)+'''';
        strOrder:='order by stuNo';
      end;
  1:  begin
        strWhere:='Where stuName like '+''''+'%'+Trim(edit1.Text)+'%'+'''';
        strOrder:='order by stuName';
      end;
  2:  begin
        strWhere:='Where stuClass like '+''''+'%'+Trim(edit1.Text)+'%'+'''';
        strOrder:='order by stuClass';
      end;
  3:  begin
        strWhere:='Where stuLoginDate between #'+DateToStr(dtpStart.Date)
          +'# and #'+DateToStr(dtpEnd.Date)+'#';
        strOrder:='order by stuLoginDate';
      end;
  4:  begin
        if Trim(Edit3.Text)='' then Edit3.Text :='0';
        if Trim(Edit4.Text)='' then Edit4.Text :='0';
        strWhere:='Where stuAllUsedTime'+combobox2.Text +Trim(edit3.Text);
        if Trim(Combobox3.Text) <>'' then
          strWhere:=strWhere+' '+combobox3.Text+' stuAllUsedTime'+combobox4.Text +edit4.Text;
        strOrder:='order by stuAllUsedTime';
      end;
  end;
  strWhere:=strWhere+' and stuValidity=true';
  with ADOQMember do
  begin
    Active:=false;
    SQL.Strings[4]:=strWhere;
    SQL.Strings[5]:=strOrder;
    Active:=true;
  end;
  strCmd:='UPDATE UserList SET stuPrepTime= stuPrepTime+@usedTime ';
  DM.ADOCmdAward.CommandText :=strCmd+strWhere;
end;

procedure TAwardNoteForm.FormResize(Sender: TObject);
begin
  inherited;
  Statusbar1.Panels[0].Width :=palClient.Width -160;
end;

end.

⌨️ 快捷键说明

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