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

📄 ustatus.pas

📁 学生成绩管理系统开发软件
💻 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 + -