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

📄 u_main.~pas

📁 教务管理系统,实现学生成绩管理,成绩查询,统计平均分最高分,学生选课,教务处安排教室,考试
💻 ~PAS
字号:
unit U_main;

interface

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

type
  TForm_main = class(TForm)
    Q_teacher: TQuery;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    RdG_state: TRadioGroup;
    Panel1: TPanel;
    Comb_time: TComboBox;
    Comb_credit: TComboBox;
    Edit_cname: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DBGrid_course: TDBGrid;
    Label4: TLabel;
    Memo_intro: TMemo;
    Btn_submit: TButton;
    Btn_reset: TButton;
    Label5: TLabel;
    T_course: TTable;
    T_counterK: TTable;
    DS_course: TDataSource;
    DS_studentinfo: TDataSource;
    Label6: TLabel;
    DBG_course2: TDBGrid;
    Q_student: TQuery;
    T_student: TTable;
    DS_student: TDataSource;
    Label7: TLabel;
    Label8: TLabel;
    DBG_student: TDBGrid;
    DBG_score: TDBGrid;
    Btn_print: TButton;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Btn_submitClick(Sender: TObject);
    procedure Btn_resetClick(Sender: TObject);
    procedure RdG_stateClick(Sender: TObject);
    procedure DBGrid_courseCellClick(Column: TColumn);
    procedure TabSheet2Show(Sender: TObject);
    procedure DBG_course2CellClick(Column: TColumn);
    procedure Btn_printClick(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_main: TForm_main;

implementation

uses U_login, MainFrm;

{$R *.dfm}

procedure TForm_main.FormShow(Sender: TObject);
begin
Q_teacher.close;
Q_teacher.ParamByName('id').Value:=form_login.edit_user.Text;
Q_teacher.Open;
form_main.Caption:='课程管理系统,欢迎您:'+Q_teacher.Fields[0].value;
end;

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

procedure TForm_main.Btn_submitClick(Sender: TObject);
var
locOp:TlocateOptions;
counter:integer;
course_id:String;
begin
case RdG_state.ItemIndex of
0:
begin
T_counterk.Open;
counter:=T_counterk['counter_value'];
inc(counter);
T_counterk.Edit;
T_counterk['counter_value']:=counter;
T_counterk.Post;
T_counterk.Close;
course_id:='00000'+IntTostr(counter);
course_id:=copy(course_id,length(course_id)-6,6);
course_id:=formatDateTime('yyyy',now)+course_id;
T_course.filtered:=false;
T_course.Open;
T_course.AppendRecord([course_id,edit_cname.text,
form_login.edit_user.text,comb_credit.text,
comb_time.text,'','',memo_intro.lines,'0']);
end;
1:
begin
T_course.Filtered:=false;
if t_course.Locate('Name',edit_cname.Text,locop) then
begin
t_course.Edit;
t_course['state']:='1';
t_course.Post;
end;
end;
2:
begin
T_course.Filtered:=false;
if t_course.Locate('Name',edit_cname.Text,locop) then
begin
t_course.Edit;
t_course['name']:=edit_cname.Text;
t_course['credit_hour']:=comb_credit.Text;
t_course['period']:=comb_time.Text;
t_course['intro']:=memo_intro.Lines.Text;
t_course['state']:='2';
t_course.post;
end;
end;
end;
btn_resetClick(nil);
end;


procedure TForm_main.Btn_resetClick(Sender: TObject);
begin
RdG_state.ItemIndex:=0;
RdG_stateClick(nil);
edit_cname.Text:='';
comb_credit.Text:='0';
comb_time.Text:='0';
memo_intro.Lines.Clear;
end;

procedure TForm_main.RdG_stateClick(Sender: TObject);
begin
if RdG_state.ItemIndex>0 then
begin
t_course.Filter:='teacher='''+form_login.edit_user.Text+'''AND state<>''5''AND state<>''1''';
t_course.Filtered:=true;
t_course.Open;
dbgrid_course.Enabled:=true;
dbgrid_coursecellclick(nil);
end
else
begin
t_course.Close;
dbgrid_course.Enabled:=false;
end;
end;

procedure TForm_main.DBGrid_courseCellClick(Column: TColumn);
begin
if dbgrid_course.Enabled then
begin
edit_cname.Text:=t_course['name'];
comb_credit.Text:=t_course['credit_hour'];
comb_time.Text:=t_course['period'];
memo_intro.Lines.Clear;
memo_intro.Lines.Add(t_course['intro']);
end;
end;

procedure TForm_main.TabSheet2Show(Sender: TObject);
begin
T_course.Filter:='teacher='''+form_login.edit_user.Text+'''';
T_course.Filtered:=true;
T_course.Open;
dbg_course2cellclick(nil);
T_student.Open;
end;

procedure TForm_main.DBG_course2CellClick(Column: TColumn);
begin
Q_student.Close;
Q_student.Params.ParamValues['course_id']:=T_course['id'];
Q_student.Open;
end;

procedure TForm_main.Btn_printClick(Sender: TObject);
begin
with Mainform do
begin
i_header.text:='学生名单';
Q_print.close;
//Q_print.sql:=Q_student.sql;
Q_print.Params.ParamValues['course_id']:=T_course['id'];
Q_print.Open;
StringGrid1.RowCount:=3;
StringGrid1.Cells[0,0]:='班级';
StringGrid1.Cells[1,0]:='10';
StringGrid1.Cells[0,1]:='学号';
StringGrid1.Cells[1,1]:='20';
StringGrid1.Cells[0,2]:='姓名';
StringGrid1.Cells[1,2]:='30';
ShowModal;
end;
end;

procedure TForm_main.TabSheet1Show(Sender: TObject);
begin
RdG_state.ItemIndex:=0;
RdG_stateClick(nil);
edit_cname.Text:='';
comb_credit.Text:='0';
comb_time.Text:='0';
memo_intro.Lines.Clear;
end;

end.

⌨️ 快捷键说明

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