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

📄 u_sims.pas

📁 学籍管理系统这是我自己做的希望大家提供意见 密码在readme 内
💻 PAS
字号:
unit U_sims;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, ComCtrls, Mask, StdCtrls, Grids, DBGrids, DB,
  ADODB, DBTables, jpeg;

type
  TF_smis = class(TForm)
    Tpagecontrol1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    DBNavigator1: TDBNavigator;
    RGchange: TRadioGroup;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    MeDescrip1: TMemo;
    EdtID1: TEdit;
    Label2: TLabel;
    Badd: TButton;
    Bcancel: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    DBText3: TDBText;
    RGReward: TRadioGroup;
    GroupBox2: TGroupBox;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    DBText4: TDBText;
    DBText5: TDBText;
    DBText6: TDBText;
    Label9: TLabel;
    Medescrip2: TMemo;
    EdtID2: TEdit;
    Label10: TLabel;
    BaddR: TButton;
    BCancelR: TButton;
    RGPunish: TRadioGroup;
    GroupBox3: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    DBText7: TDBText;
    DBText8: TDBText;
    DBText9: TDBText;
    Label14: TLabel;
    Medescrip3: TMemo;
    EdtID3: TEdit;
    Label15: TLabel;
    BaddP: TButton;
    BCancleP: TButton;
    GroupBox4: TGroupBox;
    GroupBox5: TGroupBox;
    GroupBox6: TGroupBox;
    GroupBox7: TGroupBox;
    EdtID4: TEdit;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Bmodify: TButton;
    BcancelS: TButton;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBRadioGroup1: TDBRadioGroup;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    DBGrid4: TDBGrid;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    GroupBox8: TGroupBox;
    Label26: TLabel;
    DBLookupComboBox3: TDBLookupComboBox;
    Label27: TLabel;
    DBMemo1: TDBMemo;
    Button10: TButton;
    BModifyC: TButton;
    GroupBox9: TGroupBox;
    Label28: TLabel;
    Label29: TLabel;
    DBLookupComboBox4: TDBLookupComboBox;
    DBMemo2: TDBMemo;
    Button11: TButton;
    BmodifyR: TButton;
    GroupBox10: TGroupBox;
    Label30: TLabel;
    Label31: TLabel;
    DBLookupComboBox5: TDBLookupComboBox;
    DBMemo3: TDBMemo;
    Button13: TButton;
    BModifyP: TButton;
    DBRadioGroup2: TDBRadioGroup;
    DBGrid1: TDBGrid;
    Database1: TDatabase;
    T_stud: TTable;
    DS_stud: TDataSource;
    T_stud_info: TTable;
    DS_stud_info: TDataSource;
    T_depart: TTable;
    T_class: TTable;
    DS_depart: TDataSource;
    DS_class: TDataSource;
    T_counter: TTable;
    T_change: TTable;
    T_reward: TTable;
    T_punish: TTable;
    T_stud_1: TTable;
    T_change_info: TTable;
    T_reward_info: TTable;
    T_punish_info: TTable;
    T_change_code: TTable;
    T_reward_level: TTable;
    T_punish_level: TTable;
    DS_stud_1: TDataSource;
    DS_change_info: TDataSource;
    DS_reward_info: TDataSource;
    DS_punish_info: TDataSource;
    DS_change_code: TDataSource;
    DS_reward_level: TDataSource;
    DS_punish_level: TDataSource;
    DS_depart_1: TDataSource;
    DS_class_1: TDataSource;
    T_depart_1: TTable;
    T_class_1: TTable;
    TabSheet6: TTabSheet;
    Image1: TImage;
    Label32: TLabel;
    Label33: TLabel;
    Bprint: TButton;
    Bexit: TButton;
    RGprint: TRadioGroup;
    Panel1: TPanel;
    GroupBox11: TGroupBox;
    Label35: TLabel;
    Label37: TLabel;
    GroupBox12: TGroupBox;
    Label36: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    GroupBox13: TGroupBox;
    Label34: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;

    procedure FormCreate(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure EdtID1Change(Sender: TObject);
    procedure BaddClick(Sender: TObject);
    procedure BcancelClick(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure EdtID2Change(Sender: TObject);
    procedure BaddRClick(Sender: TObject);
    procedure BCancelRClick(Sender: TObject);
    procedure TabSheet4Show(Sender: TObject);
    procedure EdtID3Change(Sender: TObject);
    procedure BaddPClick(Sender: TObject);
    procedure BCanclePClick(Sender: TObject);
    procedure EdtID4Change(Sender: TObject);
    procedure TabSheet5Show(Sender: TObject);
    procedure BmodifyClick(Sender: TObject);
    procedure BcancelSClick(Sender: TObject);
    procedure BModifyCClick(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure BmodifyRClick(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure BModifyPClick(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure BprintClick(Sender: TObject);
    procedure BexitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private
    { Private declarations }
  public
    login:boolean;
    { Public declarations }
  end;

var
  F_smis: TF_smis;

implementation

uses U_print,U_printC,U_printR,U_printP,U_login;

{$R *.dfm}

//新生信息录入

procedure TF_smis.FormCreate(Sender: TObject);
begin
 
  try
    database1.Open ;
  except
    application.MessageBox('请确认数据库是否正确!','错误',MB_ok);
    application.Terminate ;
  end;
  
  T_stud.Open ;
  
  dbgrid1.Columns[0].Width :=64;
  dbgrid1.Columns[1].Width :=64;
  dbgrid1.Columns[2].Width :=64;
  dbgrid1.Columns[3].Width :=100;
  dbgrid1.Columns[4].Width :=64;
  dbgrid1.Columns[5].Width :=100;
  dbgrid1.Columns[6].Width :=100;
end;

//学籍变更输入

procedure TF_smis.TabSheet2Show(Sender: TObject);
begin
  edtID1.Clear ;
  RGchange.ItemIndex := 0;       //出始化学籍变更输入界面
  MEdescrip1.Clear ;
  Badd.Enabled := false;
end;

procedure TF_smis.EdtID1Change(Sender: TObject);
begin
  if edtID1.Text <>'' then      //输入学号显示学生基本情况
  begin
    T_stud_info.Filter := 'ID='''+trim(EdtID1.Text)+'''';
    T_stud_info.Filtered := true;
    T_stud_info.Open ;
    T_depart.Open ;
    T_class.Open ;
    Badd.Enabled := true;
  end;
end;

procedure TF_smis.BaddClick(Sender: TObject);
var                           //添加学籍变更信息
  counter:integer;
begin
  with T_counter do
  begin
    filter:='ID=''C''';
    filtered:= true;
    open ;
    counter:=T_counter['counter_value'];
    inc(counter);
    edit;
    T_counter['counter_value']:=counter;
    post;
  end;

  with T_change do
  begin
    open;
    appendrecord([counter,trim(edtID1.Text),RGchange.ItemIndex ,
                 now,medescrip1.Text]);
  end;
  T_stud_info.Close ;
  T_depart.Close ;
  T_class.Open ;
  tabsheet2show(nil);
end;

procedure TF_smis.BcancelClick(Sender: TObject);
begin
  tabsheet2show(nil);
end;

//奖励情况输入

procedure TF_smis.TabSheet3Show(Sender: TObject);
begin                         //出始化
  edtID2.Clear ;
  RGreward.ItemIndex :=0;
  medescrip2.Clear ;
  BaddR.Enabled := false;
end;

procedure TF_smis.EdtID2Change(Sender: TObject);
begin                         //输入学号显示学生基本信息
  if edtID2.Text<>'' then
  begin
    T_stud_info.Filter := 'ID='''+trim(edtID2.Text)+'''';
    T_stud_info.Filtered := true;
    T_stud_info.Open ;
    T_depart.Open ;
    T_class.Open ;
    BaddR.Enabled := true;
  end;
end;

procedure TF_smis.BaddRClick(Sender: TObject);
var
  counter:integer;          //添加奖励情况
begin
  with T_counter do
  begin
    filter:='ID=''R''';
    filtered:= true;
    open;
    counter:=T_counter['counter_value'];
    inc(counter);
    edit;
    T_counter['counter_value']:=counter;
    post;
  end;

  with T_reward do
  begin
    open;
    appendrecord([counter,trim(edtID2.Text),RGreward.ItemIndex ,
                 now,medescrip2.Text  ]);
  end;
  T_stud_info.Close ;
  T_depart.Close ;
  T_class.Close ;
  tabsheet3show(nil);
end;
procedure TF_smis.BCancelRClick(Sender: TObject);
begin
   tabsheet3show(nil);
end;

//处罚情况输入

procedure TF_smis.TabSheet4Show(Sender: TObject);
begin
  EdtID3.Clear ;
  RGpunish.ItemIndex := 0;
  Medescrip3.Clear ;
  BaddP.Enabled := false;
end;

procedure TF_smis.EdtID3Change(Sender: TObject);
begin
  if edtid3.Text<>'' then
  begin
    T_stud_info.Filter :='ID='''+trim(edtID3.Text)+'''';
    T_stud_info.Filtered := true;
    T_stud_info.Open ;
    T_depart.Open ;
    T_class.Open ;
    BaddP.Enabled := true;
  end;
end;

procedure TF_smis.BaddPClick(Sender: TObject);
var
  counter:integer;
begin
  with T_counter do
  begin
    filter:='ID=''P''';
    filtered:= true;
    open;
    counter:=T_counter['counter_value'];
    inc(counter);
    edit;
    T_counter['counter_value']:=counter;
    post;
  end;

  with T_punish do
  begin
    open;
    appendrecord([counter,trim(edtID3.Text),RGpunish.ItemIndex ,
              now,'T',medescrip3.Text]);
  end;
  T_stud_info.Close ;
  T_depart.Close ;
  T_class.Close ;
  tabsheet4show(nil);
end;
procedure TF_smis.BCanclePClick(Sender: TObject);
begin
  tabsheet4show(nil);
end;

//学生个人信息查询修改

procedure TF_smis.EdtID4Change(Sender: TObject);
begin
  if EdtID4.Text <>'' then
  begin
    T_stud_1.Filter :='ID='''+EdtID4.Text +'''';
    T_stud_1.Filtered := true;
    T_stud_1.Open ;
    T_depart_1.Open ;
    T_class_1.Open ;
    T_change_info.Open ;
    T_change_code.Open ;
    T_reward_info.Open ;
    T_reward_level.Open ;
    T_punish_info.Open ;
    T_punish_level.Open ;
  end;
  Bmodify.Enabled := true;

end;

procedure TF_smis.TabSheet5Show(Sender: TObject);
begin
  EdtID4.Clear ;
  Bmodify.Enabled := false;
end;

procedure TF_smis.BmodifyClick(Sender: TObject);
begin
  T_stud_1.Edit ;
  T_stud_1.Post ;
end;

procedure TF_smis.BcancelSClick(Sender: TObject);
begin
  T_stud_1.Cancel ;
end;

procedure TF_smis.BModifyCClick(Sender: TObject);
begin
  T_change_info.Edit ;
  T_change_info.Post ;
end;

procedure TF_smis.Button10Click(Sender: TObject);
begin
  T_change_info.Cancel ;
end;

procedure TF_smis.BmodifyRClick(Sender: TObject);
begin
  T_reward_info.Edit ;
  T_reward_info.Post ;
end;

procedure TF_smis.Button11Click(Sender: TObject);
begin
  T_reward_info.Cancel ;
end;

procedure TF_smis.BModifyPClick(Sender: TObject);
begin
  T_punish_info.Edit ;
  T_punish_info.Post ;
end;

procedure TF_smis.Button13Click(Sender: TObject);
begin
  T_punish_info.Cancel ;
end;

//打印信息

procedure TF_smis.BprintClick(Sender: TObject);
begin
 case RGprint.ItemIndex of
   0: F_print.DePreview1.Preview  ;
   1: F_printC.DePreview1.Preview ;
   2: F_printR.DePreview1.Preview ;
   3: F_printP.DePreview1.Preview ;
 end;


end;

procedure TF_smis.BexitClick(Sender: TObject);
begin
  application.Terminate ;
end;

procedure TF_smis.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  application.Terminate ;
end;

end.


⌨️ 快捷键说明

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