📄 ustatus.pas
字号:
unit uStatus;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, DB, DBTables, Grids, DBGrids, Buttons,
StdCtrls, Mask, DBCtrls, TabNotBk;
type
TFrmStatus = class(TForm)
Panel3: TPanel;
BtnNew: TSpeedButton;
BtnEdit: TSpeedButton;
BtnDel: TSpeedButton;
BtnYes: TSpeedButton;
BtnCancel: TSpeedButton;
BtnClose: TSpeedButton;
BtnPrint: TSpeedButton;
BtnPreview: TSpeedButton;
BtnSet: TSpeedButton;
btnw1: TSpeedButton;
Panel2: TPanel;
DBGrid1: TDBGrid;
Query1: TQuery;
Update1: TUpdateSQL;
DataSource1: TDataSource;
TabControl1: TTabControl;
dbbID: TDBEdit;
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
dbbName: TDBEdit;
Label3: TLabel;
dbcClass: TDBEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
dbbStatus: TDBEdit;
dbReason: TDBEdit;
dbschool: TDBEdit;
dbxclass: TDBEdit;
dbcDate: TDBEdit;
dbMemo: TDBEdit;
Boxquery: TGroupBox;
Label10: TLabel;
ComboBox1: TComboBox;
SpeedButton1: TSpeedButton;
ComboBox2: TComboBox;
Label11: TLabel;
Edit1: TEdit;
Label12: TLabel;
ComboBox3: TComboBox;
procedure TabControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BtnNewClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnDelClick(Sender: TObject);
procedure BtnYesClick(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BtnSetClick(Sender: TObject);
procedure BtnPreviewClick(Sender: TObject);
procedure BtnPrintClick(Sender: TObject);
procedure btnw1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
formmode:string;
procedure BtnMode;
procedure InsertMode;
Procedure UpdateMode;
Procedure NormalMode;
Procedure Statusmode;
public
{ Public declarations }
end;
var
FrmStatus: TFrmStatus;
implementation
uses MainD,UTIL,usturep;
{$R *.dfm}
procedure TFrmStatus.BtnMode;
begin
BtnNew.Enabled := False;
BtnEdit.Enabled := False;
BtnDel.Enabled := False;
BtnYes.Enabled := False;
BtnCancel.Enabled := False;
BtnSet.Enabled := False;
BtnPreView.Enabled := False;
BtnPrint.Enabled := False;
DBGrid1.Enabled := False;
dbbID.Enabled := False;
if formmode = 'nor' then
begin
dbbID.Enabled := False;
BtnNew.Enabled := True;
BtnEdit.Enabled := True;
BtnDel.Enabled := True;
BtnYes.Enabled := False;
BtnCancel.Enabled := False;
BtnSet.Enabled := True;
BtnPreView.Enabled := True;
BtnPrint.Enabled := True;
BtnClose.Enabled := True;
DBGrid1.Enabled := True;
btnw1.Enabled := True;
combobox2.Enabled := True;
boxquery.Enabled := True;
end else if (formmode='ins') or (formmode='edt') then begin
if formmode = 'ins' then
dbbID.Enabled := True;
BtnNew.Enabled := False;
BtnEdit.Enabled := False;
BtnDel.Enabled := False;
BtnYes.Enabled := True;
BtnCancel.Enabled := True;
BtnSet.Enabled := False;
BtnPreView.Enabled := False;
BtnPrint.Enabled := False;
BtnClose.Enabled := False;
DBGrid1.Enabled := False;
btnw1.Enabled := False;
combobox2.Enabled := True;
boxquery.Enabled := False;
end;
end;
procedure TFrmStatus.InsertMode;
begin
formmode := 'ins';
BtnMode;
end;
procedure TFrmStatus.NormalMode;
begin
formmode :='nor';
BtnMode;
end;
procedure TFrmStatus.UpdateMode;
begin
formmode := 'edt';
BtnMode;
end;
procedure TFrmStatus.TabControl1Change(Sender: TObject);
begin
Statusmode;
if Tabcontrol1.TabIndex = 0 then
groupbox1.Caption :='退学 || 休学'
else
groupbox1.Caption :='转学 || 调班 || 复学';
end;
procedure TFrmStatus.Statusmode;
begin
if tabControl1.TabIndex = 0 then
begin
combobox2.Items.Clear;
combobox2.Items.Add('退学');
combobox2.Items.Add('休学');
dbschool.Visible := false;
dbxclass.Visible := false;
label6.Enabled := false;
label7.Enabled := false;
end else begin
combobox2.Items.Clear;
combobox2.Items.Add('转学');
combobox2.Items.Add('调班');
combobox2.Items.Add('复学');
dbschool.Visible := true;
dbxclass.Visible := true;
label6.Enabled := true;
label7.Enabled := true;
end;
end;
procedure TFrmStatus.FormCreate(Sender: TObject);
begin
query1.SQL.Clear;
query1.SQL.Add('select * from statusstd');
query1.SQL.Add('order by bID,cClass');
Update1.InsertSQL.Clear;
Update1.InsertSQL.Add('insert into Statuinfo');
Update1.insertSQL.add('(bID,school,xclass,Reasion,cDate,Memo)');
Update1.InsertSQL.Add('values');
Update1.InsertSQL.add('(:bID,:school,:xclass,:Reasion,:cDate,:Memo)');
Update1.ModifySQL.Clear;
Update1.ModifySQL.Add('update Statuinfo');
Update1.ModifySQL.Add(' set ');
Update1.ModifySQL.Add('school=:school,xclass=:xclass,Reasion=:Reasion,');
Update1.ModifySQL.Add('cDate=:cDate,Memo=:Memo');
Update1.ModifySQL.Add('where bID=:bID');
UPdate1.DeleteSQL.Clear;
Update1.DeleteSQL.Add('delete from Statuinfo where bID=:bID');
combobox3.Items.Clear;
MainDFrm.Qgrant.SQL.Clear;
MainDFrm.Qgrant.SQL.Add('select cClass from Classinfo');
MainDFrm.Qgrant.SQL.Add('group by cClass');
MainDFrm.Qgrant.close;
MainDFrm.Qgrant.open;
MainDFrm.Qgrant.First;
while not MainDFrm.Qgrant.Eof do
begin
combobox3.Items.Add(MainDFrm.Qgrant.Fields.Fields[0].asstring);
MainDFrm.Qgrant.Next;
end;
tabcontrol1.TabIndex := tabstatus;
normalmode;
statusmode;
query1.Close;
query1.Open;
end;
procedure TFrmStatus.BtnNewClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'status002')=False then exit;
insertmode;
query1.Append;
query1.FieldByName('bID').AsString:= '';
query1.FieldByName('Reasion').AsString:='';
query1.FieldByName('school').AsString :='';
query1.FieldByName('xclass').AsString :='';
query1.FieldByName('cDate').AsString :=DatetoStr(Date);
query1.FieldByName('Memo').AsString:='';
dbbID.SetFocus;
end;
procedure TFrmStatus.BtnEditClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'status003')=False then exit;
updatemode;
query1.Edit;
end;
procedure TFrmStatus.BtnDelClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'status004')=False then exit;
if messagebox(Application.Handle,'如果您点确定键此条记录将被删除','警告',
mb_ICONWarning+mb_yesno+mb_defbutton2)= mryes then
//with MainDFrm do
begin
UPdate1.DeleteSQL.Clear;
Update1.DeleteSQL.Add('delete from Statuinfo where bID='''+dbbID.Text+'''');
try
query1.Delete;
// qutil.Post;
query1.Database.StartTransaction;
query1.ApplyUpdates;
query1.CommitUpdates;
query1.Database.Commit;
except
query1.Database.Rollback;
query1.CancelUpdates;
ShowMessage('存盘失败!');
end;
end;
normalmode;
end;
procedure TFrmStatus.BtnYesClick(Sender: TObject);
begin
if formmode = 'ins' then
if MainDFrm.CheckexistID('Arcinfo','bID',dbbID.Text)=false then exit;
query1.Post;
try
query1.Database.StartTransaction;
query1.ApplyUpdates;
query1.CommitUpdates;
query1.Database.Commit;
except
query1.Database.Rollback;
query1.CancelUpdates;
showmessage('存盘失败!');
normalmode;
exit;
end;
MainDFrm.Qgrant.SQL.Clear;
MainDFrm.Qgrant.SQL.Add('Update Arcinfo');
MainDFrm.Qgrant.SQL.Add('set ');
MainDFrm.Qgrant.SQL.Add('bStatus='''+dbbStatus.Text+'''');
MainDFrm.Qgrant.SQL.Add('Where bID='''+dbbID.Text+'''');
MainDFrm.Qgrant.Close;
MainDFrm.Qgrant.ExecSQL;
// query1.Refresh;
query1.Close;
query1.Open;
normalmode;
end;
procedure TFrmStatus.ComboBox2Change(Sender: TObject);
begin
dbbStatus.Text := combobox2.Items[combobox2.itemindex];
end;
procedure TFrmStatus.BtnCancelClick(Sender: TObject);
begin
if messagebox(0,'确定不更新本条数据?','提示',
mb_ICONInformation+mb_yesno+mb_defbutton2)= mryes then
begin
normalmode;
query1.Cancel;
end;
end;
procedure TFrmStatus.BtnCloseClick(Sender: TObject);
begin
close;
end;
procedure TFrmStatus.SpeedButton1Click(Sender: TObject);
var
bbID,bclass,bbstu:string;
str:string;
begin
bbID := trim(edit1.Text);
bclass := trim(combobox3.text);
bbstu := trim(combobox1.Text);
str := '';
if bbID <>'' then
str := str+'and bID='''+bbID+'''';
if bclass <>'' then
str := Str+'and cClass='''+bClass+'''';
if bbstu <> '' then
str := str +'and bStatus='''+bbstu+'''';
delete(str,1,3);
Query1.SQL.Clear;
Query1.SQL.Add('select * from statusstd');
if str<>'' then
Query1.SQL.Add('where '+ str);
Query1.SQL.Add('order by bID');
Query1.Close;
Query1.Open;
end;
procedure TFrmStatus.BtnSetClick(Sender: TObject);
var
Frmsturep: TFrmsturep;
begin
if MaindFrm.CheckPermission(UserID,'status005')=False then exit;
Frmsturep := TFrmsturep.create(application);
try
FrmSturep.showmodal;
finally
FrmSturep.free;
end;
end;
procedure TFrmStatus.BtnPreviewClick(Sender: TObject);
var
Frmsturep: TFrmsturep;
begin
if MaindFrm.CheckPermission(UserID,'status005')=False then exit;
Frmsturep := TFrmsturep.create(application);
try
FrmSturep.QuickRep1.PreviewModal;
finally
FrmSturep.free;
end;
end;
procedure TFrmStatus.BtnPrintClick(Sender: TObject);
var
Frmsturep: TFrmsturep;
begin
if MaindFrm.CheckPermission(UserID,'status005')=False then exit;
Frmsturep := TFrmsturep.create(application);
try
FrmSturep.QuickRep1.Print;
finally
FrmSturep.free;
end;
end;
procedure TFrmStatus.btnw1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFrmStatus.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
canClose := True;
if (formmode = 'ins') or (formmode = 'edt') then
begin
MessageBox(application.Handle,'请先结束输入模式后再离开','警告',
mb_ICONWarning+mb_OK);
canClose := False;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -