📄 uinit.~pas
字号:
unit UInit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, StdCtrls, DB, ADODB, Grids, DBGrids, Mask,
DBCtrls;
type
TfrmInit = class(TForm)
Panel1: TPanel;
lab_info: TLabel;
ADOQuery: TADOQuery;
Label2: TLabel;
edt_count: TEdit;
Label3: TLabel;
DataSource: TDataSource;
dbg: TDBGrid;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBT_id: TDBEdit;
DBT_count: TDBEdit;
DBT_name: TDBEdit;
DBT_remark: TDBEdit;
btnAdd: TSpeedButton;
btnModify: TSpeedButton;
btnSave: TSpeedButton;
btnCancel: TSpeedButton;
btnDelete: TSpeedButton;
btn_First: TSpeedButton;
btn_prior: TSpeedButton;
btn_Next: TSpeedButton;
btn_Last: TSpeedButton;
btnExit: TSpeedButton;
btnInit: TSpeedButton;
lb: TListBox;
TimerMsg: TTimer;
edt_Start: TEdit;
Label1: TLabel;
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure btnAddClick(Sender: TObject);
procedure btnModifyClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure btn_FirstClick(Sender: TObject);
procedure btn_priorClick(Sender: TObject);
procedure btn_NextClick(Sender: TObject);
procedure btn_LastClick(Sender: TObject);
procedure btnInitClick(Sender: TObject);
procedure btnExitClick(Sender: TObject);
procedure TimerMsgTimer(Sender: TObject);
procedure edt_StartKeyPress(Sender: TObject; var Key: Char);
procedure edt_countKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
procedure ShowM(msg:String);
procedure setRW(B:boolean);
end;
var
frmInit: TfrmInit;
implementation
uses UMain,Upublic,UPInit;
{$R *.dfm}
procedure TfrmInit.ShowM(msg:String);
begin
ShowMessage(msg);
end;
procedure TfrmInit.setRW(B:boolean);
begin
setedit(DBT_id,B);
setedit(DBT_name,B);
setedit(DBT_count,B);
setedit(DBT_remark,B);
dbg.Enabled:=not B;
btnExit.Enabled:=not B;
btnSave.Enabled:=B;
btnCancel.Enabled:=B;
btnModify.Enabled:=not B;
btnAdd.Enabled:=not B;
btnInit.Enabled:=not B;
btnDelete.Enabled:=not B;
if not B then
if ADOQuery.RecordCount=0 then
begin
btnModify.Enabled:=False;
btnDelete.Enabled:=False;
end
else
begin
btnModify.Enabled:=not B;
btnDelete.Enabled:=not B;
end;
if B then
begin
btn_First.Enabled:=False;
btn_Prior.Enabled:=False;
btn_Next.Enabled:=False;
btn_Last.Enabled:=False;
end
else
SetMove(ADOQuery,btn_next,btn_last,btn_Prior,btn_First);
end;
procedure TfrmInit.FormShow(Sender: TObject);
begin
lb.Top:=-100;
lb.Left:=-100;
ADOQuery.Connection:=frmMain.ADOC;
ADOQuery.SQL.Text:='select * from aw order by aw_id';
ADOQuery.Open;
setRW(False);
end;
procedure TfrmInit.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ADOQuery.Close;
end;
procedure TfrmInit.btnAddClick(Sender: TObject);
begin
setRW(True);
ADOQuery.Append;
end;
procedure TfrmInit.btnModifyClick(Sender: TObject);
begin
ADOQuery.Edit;
setRW(True);
SetEdit(DBT_id,False);
end;
procedure TfrmInit.btnSaveClick(Sender: TObject);
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=frmMain.ADOc;
if Trim(DBT_id.Text)='' then
begin
ShowMessage('代码必须输入!!');
DBT_id.SetFocus;
exit;
end;
if Trim(DBT_name.Text)='' then
begin
ShowMessage('奖项名称必须输入!!');
DBT_name.SetFocus;
exit;
end;
if Trim(DBT_count.Text)='' then
begin
ShowMessage('奖项数量必须输入!!');
DBT_count.SetFocus;
exit;
end;
if Trim(DBT_remark.Text)='' then
begin
ShowMessage('奖品必须输入!!');
DBT_remark.SetFocus;
exit;
end;
if ADOQuery.State=dsInsert then
begin
Query.SQL.Text:='select * from aw where aw_id='''+
DBT_id.Text+'''';
Query.Open;
if Query.RecordCount>0 then
begin
ShowMessage('代码重复!!');
exit;
end;
end;
Query.Close;
Query.Free;
ADOQuery.Post;
setRW(False);
end;
procedure TfrmInit.btnCancelClick(Sender: TObject);
begin
ADOQuery.Cancel;
setRW(False);
end;
procedure TfrmInit.btnDeleteClick(Sender: TObject);
begin
if ADOQuery.RecordCount>0 then
begin
if messageDlg('确认要删除吗?',mtConfirmation,[mbYes, mbNo],0)=mrYes then
begin
ADOQuery.Delete;
end
end
else
btnDelete.Enabled:=False;
setRW(false);
end;
procedure TfrmInit.btn_FirstClick(Sender: TObject);
begin
ADOQuery.First;
setRW(False);
end;
procedure TfrmInit.btn_priorClick(Sender: TObject);
begin
ADOQuery.Prior;
setRW(False);
end;
procedure TfrmInit.btn_NextClick(Sender: TObject);
begin
ADOQuery.Next;
setRW(False);
end;
procedure TfrmInit.btn_LastClick(Sender: TObject);
begin
ADOQuery.Last;
setRW(False);
end;
procedure TfrmInit.btnInitClick(Sender: TObject);
var
Init:InitC;
Query:TADOQuery;
begin
if messageDlg('初始化后删除所有数据中奖信息,'+#13+'重新开始进行抽奖活动,确认吗?'
,mtConfirmation,[mbYes, mbNo],0)=mrNo then
exit;
Query:=TADOQuery.Create(nil);
Query.Connection:=frmMain.ADOC;
Query.SQL.Text:='update awinfo set aw_base_nmb='+Edt_count.Text
+' ,aw_start_nmb='+Edt_start.Text;
Query.ExecSQL;
Query.Free;
btnInit.Enabled:=False;
btnExit.Enabled:=False;
btnSave.Enabled:=False;
btnCancel.Enabled:=False;
btnModify.Enabled:=False;
btnDelete.Enabled:=False;
btnExit.Enabled:=False;
btnAdd.Enabled:=False;
btnInit.Enabled:=False;
btn_Next.Enabled:=False;
btn_last.Enabled:=False;
lab_info.Caption:='初始化系统信息'+'--处理中请等待...';
Init:=InitC.Create(True);
Init.Resume;
end;
procedure TfrmInit.btnExitClick(Sender: TObject);
begin
close;
end;
procedure TfrmInit.TimerMsgTimer(Sender: TObject);
begin
TimerMsg.Enabled:=False;
ShowM('中奖数量超过总抽奖量,'+#13+'需要重新初始化!');
end;
procedure TfrmInit.edt_StartKeyPress(Sender: TObject; var Key: Char);
begin
MxFormatEditKeyPress(edt_count,key,2,0);
end;
procedure TfrmInit.edt_countKeyPress(Sender: TObject; var Key: Char);
begin
MxFormatEditKeyPress(edt_count,key,2,0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -