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

📄 stu_use.pas

📁 这个程序是用Delphi编写的
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit stu_use;

interface

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

type
  TForm4 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    PossionalInf: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Image1: TImage;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Panel8: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label5: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    DBComboBox1: TDBComboBox;
    Label3: TLabel;
    DBEdit1: TDBEdit;
    Label4: TLabel;
    DBEdit2: TDBEdit;
    Label6: TLabel;
    DBComboBox2: TDBComboBox;
    Label7: TLabel;
    DBEdit3: TDBEdit;
    Label8: TLabel;
    DBEdit4: TDBEdit;
    Button1: TButton;
    Button10: TButton;
    Label9: TLabel;
    Edit1: TEdit;
    Label10: TLabel;
    Edit2: TEdit;
    Label11: TLabel;
    Edit3: TEdit;
    Label12: TLabel;
    Edit4: TEdit;
    Button2: TButton;
    Button11: TButton;
    Label13: TLabel;
    ComboBox1: TComboBox;
    Button12: TButton;
    Button13: TButton;
    Edit5: TEdit;
    Label14: TLabel;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Label15: TLabel;
    Edit6: TEdit;
    Label16: TLabel;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    Button14: TButton;
    Button15: TButton;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Edit7: TEdit;
    Label21: TLabel;
    ComboBox4: TComboBox;
    Button16: TButton;
    Label22: TLabel;
    Label23: TLabel;
    Edit8: TEdit;
    Label24: TLabel;
    ComboBox5: TComboBox;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    DBGrid3: TDBGrid;
    QuickRep1: TQuickRep;
    QRLabel1: TQRLabel;
    QRShape1: TQRShape;
    QRShape2: TQRShape;
    QRShape4: TQRShape;
    QRShape5: TQRShape;
    QRShape6: TQRShape;
    QRShape8: TQRShape;
    QRShape9: TQRShape;
    QRShape10: TQRShape;
    QRShape13: TQRShape;
    QRShape14: TQRShape;
    QRShape15: TQRShape;
    QRShape16: TQRShape;
    QRShape17: TQRShape;
    QRShape12: TQRShape;
    QRShape7: TQRShape;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel9: TQRLabel;
    QRLabel10: TQRLabel;
    QRLabel11: TQRLabel;
    QRLabel12: TQRLabel;
    QRLabel13: TQRLabel;
    QRLabel14: TQRLabel;
    M11: TQRMemo;
    M12: TQRMemo;
    M13: TQRMemo;
    M14: TQRMemo;
    M15: TQRMemo;
    M16: TQRMemo;
    M17: TQRMemo;
    M21: TQRMemo;
    M22: TQRMemo;
    M23: TQRMemo;
    M24: TQRMemo;
    M25: TQRMemo;
    M26: TQRMemo;
    M27: TQRMemo;
    M31: TQRMemo;
    M32: TQRMemo;
    M33: TQRMemo;
    M34: TQRMemo;
    M35: TQRMemo;
    M36: TQRMemo;
    M37: TQRMemo;
    M41: TQRMemo;
    M42: TQRMemo;
    M43: TQRMemo;
    M44: TQRMemo;
    M45: TQRMemo;
    M46: TQRMemo;
    M47: TQRMemo;
    M61: TQRMemo;
    M62: TQRMemo;
    M63: TQRMemo;
    M64: TQRMemo;
    M65: TQRMemo;
    M66: TQRMemo;
    M67: TQRMemo;
    QRShape3: TQRShape;
    QRBand1: TQRBand;
    QRBand2: TQRBand;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    ComboBox6: TComboBox;
    ComboBox7: TComboBox;
    Button20: TButton;
    DBGrid2: TDBGrid;
    Button21: TButton;
    Image2: TImage;
    Image3: TImage;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    procedure Button10Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure PossionalInfClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure ComboBox5Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure ComboBox4Change(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure Button15Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure ComboBox6Change(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure Button21Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
 user_no:string ;
 enroll_time:integer;
implementation
 uses stu_enroll,qiehuan,unit1 ;

{$R *.dfm}

procedure ChangetermToInt(index:integer;var Text:string); //日期转换
begin
case Index of
0: Text := '20001' ;
1: Text := '20002' ;
2: Text := '20011' ;
3: Text := '20012' ;
4: Text := '20021' ;
5: Text := '20022' ;
6: Text := '20031' ;
7: Text := '20032' ;
8: Text := '20041' ;
9: Text := '20042' ;
10:Text := '20051' ;
11:Text := '20052' ;
12:Text := '20061' ;
13:Text := '20062' ;
14:Text := '20071' ;
15:Text := '20072' ;
16:Text := '20081' ;
17:Text := '20082' ;
end ;
end;

procedure SelectCourse; //查询选课
var
str,term:string;
begin
with Form4 do
begin
ADOQuery1.Close ; //日期转为学期
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT enrol_time FROM student WHERE stu_no='''+user_no+'''');
ADOQuery1.Open;
str:=ADOQuery1.FieldByName('enrol_time').AsString;
enroll_time:=strtoint(copy(str,1,4));


if ((ComboBox7.Text = '') and (Edit7.Text = '')) then
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT X.c_id AS 课程号,c_name AS 课程名称,c_time AS 学时,');
ADOQuery2.SQL.Add('credit_hour AS 学分,t_name AS 老师,department_pro AS 专业,');
ADOQuery2.SQL.Add('start_term AS 学期,arrange AS 时间和地点');
ADOQuery2.SQL.Add('FROM course AS X,teach_info AS Y');
ADOQuery2.SQL.Add('WHERE X.c_id=Y.c_id and');
ADOQuery2.SQL.Add('x.c_id NOT IN (SELECT c_id FROM select_info WHERE stu_no='''+user_no+''')');
ADOQuery2.Open;

end

else if ComboBox7.Text = ''  then
begin
term:=inttostr((strtoint(copy(Edit7.Text,1,4))-enroll_time)*2+strtoint(copy(Edit7.Text,5,1)));
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT X.c_id AS 课程号,c_name AS 课程名称,c_time AS 学时,');
ADOQuery2.SQL.Add('credit_hour AS 学分,t_name AS 老师,department_pro AS 专业,');
ADOQuery2.SQL.Add('start_term AS 学期,arrange AS 时间和地点');
ADOQuery2.SQL.Add('FROM course AS X,teach_info AS Y');
ADOQuery2.SQL.Add('WHERE X.c_id=Y.c_id and start_term='''+term+''' and');
ADOQuery2.SQL.Add('x.c_id NOT IN (SELECT c_id FROM select_info WHERE stu_no='''+user_no+''')');
ADOQuery2.Open;
end

else if Edit7.Text = '' then
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT X.c_id AS 课程号,c_name AS 课程名称,c_time AS 学时,');
ADOQuery2.SQL.Add('credit_hour AS 学分,t_name AS 老师,department_pro AS 专业,');
ADOQuery2.SQL.Add('start_term AS 学期,arrange AS 时间和地点');
ADOQuery2.SQL.Add('FROM course AS X,teach_info AS Y');
ADOQuery2.SQL.Add('WHERE X.c_id=Y.c_id and department_pro='''+ComboBox7.Text+''' and');
ADOQuery2.SQL.Add('x.c_id NOT IN (SELECT c_id FROM select_info WHERE stu_no='''+user_no+''')');
ADOQuery2.Open;
end

else
begin
term:=inttostr((strtoint(copy(Edit7.Text,1,4))-enroll_time)*2+strtoint(copy(Edit7.Text,5,1)));
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT X.c_id AS 课程号,c_name AS 课程名称,c_time AS 学时,');
ADOQuery2.SQL.Add('credit_hour AS 学分,t_name AS 老师,department_pro AS 专业,');
ADOQuery2.SQL.Add('start_term AS 学期,arrange AS 时间和地点');
ADOQuery2.SQL.Add('FROM course AS X,teach_info AS Y');
ADOQuery2.SQL.Add('WHERE X.c_id=Y.c_id and department_pro='''+ComboBox7.Text+''' and start_term='''+term+''' and');
ADOQuery2.SQL.Add('x.c_id NOT IN (SELECT c_id FROM select_info WHERE stu_no='''+user_no+''')');
ADOQuery2.Open;
end;
end;
end;

procedure TForm4.Button10Click(Sender: TObject);
begin
Panel2.Hide ;
end;

procedure TForm4.Button6Click(Sender: TObject);//退出系统
begin
if (Application.MessageBox('     是否退出','提示',MB_OKCANCEL) = IDOK) then
close;

end;

procedure TForm4.Button9Click(Sender: TObject); //切换身份
begin
Panel2.Hide ;
Panel4.Hide ;
Panel5.Hide ;
Panel6.Hide ;
Panel8.Hide ;
Panel3.Hide ;
Form4.Hide ;
popForm.ShowModal ;

end;

procedure TForm4.Button11Click(Sender: TObject);
begin
Panel8.Hide ;
end;

procedure TForm4.Button5Click(Sender: TObject); //显示修改口令框
begin
Panel2.Hide ;
Panel4.Hide ;
Panel5.Hide ;
Panel6.Hide ;
Panel3.Hide ;
Panel8.Show ;
Edit1.Text:=user_no;
end;

procedure TForm4.PossionalInfClick(Sender: TObject); // 显示个人信息框
begin
Panel3.Hide ;
Panel4.Hide ;
Panel5.Hide ;
Panel6.Hide ;
Panel8.Hide ;
Panel2.Show ;
DataModule1.ADOTable2.Open ;
if DataModule1.ADOTable2.Locate('stu_no',user_no,[locaseinsensitive]) then
   begin
   DataModule1.ADOTable2.Edit ;
   DataModule1.ADOTable2.Refresh ;
   end
else
   ShowMessage('没有这个学号') ;
end;

procedure TForm4.Button1Click(Sender: TObject);  //修改个人基本信息
begin
with DataModule1 do
begin
ADOTable2.Open ;
ADOTable2.Edit ;
ADOTable2.Refresh ;
ShowMessage('已成功修改');
end ;
end;

procedure TForm4.Button2Click(Sender: TObject); //修改 口令
var
results:boolean;
begin
with DataModule1 do
begin
ADOTable1.Close ;
ADOTable1.Open;
ADOTable1.Active;
results:=ADOTable1.Locate('users'+';'+'password',VarArrayOf([Edit1.Text,Edit2.Text]),[locaseinsensitive]);
end ;
if edit1.Text='' then
  application.MessageBox('用户名不能为空','提示',mb_ok)
  else if edit2.Text='' then
  application.messagebox('密码不能为空','警告',mb_ok)
  else if  results   then
      begin
        if  Edit3.Text = Edit4.Text  then
            begin
            with DataModule1 do
            begin
            ADOTable1.Edit ;
            ADOTable1.FieldByName('password').Value := Edit3.Text ;
            ADOTable1.Post ;
            ShowMessage('修改成功');
            end;
           end
        else
         begin
         ShowMessage ('两次密码不符');
         end ;
     end
   else
      showmessage('密码错误或用户不存在');
      Edit3.Clear ;
      Edit2.Clear ;
      Edit4.Clear ;
end;

procedure TForm4.Button13Click(Sender: TObject);
begin
Edit5.Clear ;
end;

procedure TForm4.Button8Click(Sender: TObject);
begin
DBGrid1.Visible:=FALSE;
Panel2.Hide ;
Panel4.Hide ;
Panel5.Hide ;
Panel3.Hide ;
Panel8.Hide ;
Panel6.Show ;
end;

procedure TForm4.Button3Click(Sender: TObject);//显示选课框
begin
button20.Hide ;
DBGrid2.Hide ;

Panel2.Hide ;
Panel4.Hide ;
Panel5.Hide ;
Panel6.Hide ;
Panel8.Hide ;
Panel3.Show ;

ComboBox6.Items.Clear ;
ADOQuery1.Close ;  //院系添加
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('SELECT DISTINCT institute_dep FROM dep_pro');
ADOQuery1.Open ;

while not ADOQuery1.Eof do
begin
ComboBox6.Items.Add(ADOQuery1.FieldByName('institute_dep').AsString);
ADOQuery1.Next;
end;
end;

procedure TForm4.Button4Click(Sender: TObject); //显示学生选课表框
begin
Panel2.Hide ;
Panel3.Hide ;
Panel5.Hide ;
Panel6.Hide ;
Panel8.Hide ;
Panel4.Show ;
end;

procedure TForm4.Button7Click(Sender: TObject);
begin
DBGrid3.Visible:=FALSE;
BUTTON18.Visible:=FALSE;
Panel2.Hide ;
Panel4.Hide ;
Panel3.Hide ;
Panel6.Hide ;
Panel8.Hide ;
Panel5.Show ;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
Panel2.Hide ;
Panel4.Hide ;
Panel3.Hide ;
Panel6.Hide ;
Panel8.Hide ;
Panel5.Hide ;
end;

procedure TForm4.Button12Click(Sender: TObject);//查询成绩
begin
DBGrid1.Visible:=TRUE;
if Edit5.Text='' then
begin //查询所有
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('SELECT select_info.achieve_time AS 学期,course.c_name AS 课程名称,');
ADOQuery1.SQL.Add('course.credit_hour AS 学分,select_info.score AS 分数');
ADOQuery1.SQL.Add('FROM course,select_info');
ADOQuery1.SQL.Add('where course.c_id=select_info.c_id and stu_no='''+user_no+'''');
ADOQuery1.Open ;
end
else
begin
case ComboBox1.ItemIndex of
0: //按课程号
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('SELECT select_info.achieve_time AS 学期,course.c_name AS 课程名称,');
ADOQuery1.SQL.Add('course.credit_hour AS 学分,select_info.score AS 分数');
ADOQuery1.SQL.Add('FROM course,select_info');
ADOQuery1.SQL.Add('where course.c_id=select_info.c_id and stu_no='''+user_no+''' and select_info.c_id='''+Edit5.Text+'''');
ADOQuery1.Open ;
end;

1://按课程名称
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('SELECT select_info.achieve_time AS 学期,course.c_name AS 课程名称,');
ADOQuery1.SQL.Add('course.credit_hour AS 学分,select_info.score AS 分数');
ADOQuery1.SQL.Add('FROM course,select_info');
ADOQuery1.SQL.Add('where course.c_id=select_info.c_id and stu_no='''+user_no+''' and course.c_name='''+Edit5.Text+'''');
ADOQuery1.Open ;
end;

2://按老师
begin

⌨️ 快捷键说明

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