📄 awardnote.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 + -