📄 unit2.pas
字号:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Menus, Grids, DBGrids, StdCtrls, DBCtrls, Mask,
Buttons, ComCtrls, ExtCtrls, ToolWin, Unit1, ImgList;
type
Tform2 = class(TForm)
TreeView1: TTreeView;
StatusBar1: TStatusBar;
Panel1: TPanel;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
N7: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
TabSheet4: TTabSheet;
TabSheet3: TTabSheet;
TabSheet1: TTabSheet;
N18: TMenuItem;
N19: TMenuItem;
Labe3: TLabel;
Label4: TLabel;
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ADOQuery3: TADOQuery;
Label51: TLabel;
Label52: TLabel;
Label54: TLabel;
Edit4: TEdit;
Edit3: TEdit;
Label53: TLabel;
Label55: TLabel;
ComboBox5: TComboBox;
Label56: TLabel;
Edit5: TEdit;
Label57: TLabel;
Edit6: TEdit;
Label58: TLabel;
Edit7: TEdit;
Label59: TLabel;
Edit8: TEdit;
Label60: TLabel;
Edit9: TEdit;
Label61: TLabel;
Edit10: TEdit;
Label74: TLabel;
Label76: TLabel;
Labe72: TLabel;
Label71: TLabel;
Label75: TLabel;
Edit13: TEdit;
Edit14: TEdit;
Label81: TLabel;
Label82: TLabel;
Label83: TLabel;
Label85: TLabel;
Edit18: TEdit;
Label86: TLabel;
Edit19: TEdit;
Label87: TLabel;
Edit20: TEdit;
Button1: TButton;
Button4: TButton;
Edit21: TEdit;
Edit22: TEdit;
Edit23: TEdit;
Edit24: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Edit27: TEdit;
Edit28: TEdit;
Button2: TButton;
DataSource1: TDataSource;
Button3: TButton;
Button5: TButton;
Button6: TButton;
Button8: TButton;
ComboBox1: TComboBox;
Button7: TButton;
Button9: TButton;
ComboBox2: TComboBox;
ImageList1: TImageList;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
form2: Tform2;
procedure TreeViewShow;
procedure ComboboxList1;
implementation
uses Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11,
Unit12, Unit13;
{$R *.dfm}
procedure ComboboxList1;
var
s1,xbbh:string;
i:integer;
begin
with form2 do
begin
s1:=trim(edit25.Text);
i:=pos('/',s1);
if i>0 then
xbbh:=copy(s1,1,i-1)
else
xbbh:='';
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select distinct 课程编号,课程名称 from 课程信息表');
if xbbh<>'' then adoquery1.SQL.Add(' where 系部编号='+quotedstr(xbbh));
adoquery1.Open;
ComboBox1.Items.Clear;
adoquery1.First;
while not adoquery1.Eof do
begin
//将课程编号和课程名称添加到组合框中
ComboBox1.Items.Add(adoquery1.Fieldbyname('课程编号').value
+'/'+adoquery1.Fieldbyname('课程名称').value);
adoquery1.Next;
end;
end;
end;
procedure TreeViewShow;
var
treenode1,treenode2:ttreenode;//定义节点
begin
form2.adoquery1.Close;
form2.adoquery1.SQL.Clear;
form2.adoquery1.SQL.Add('select distinct 系部编号,系部名称 from 系部班级');
form2.adoquery1.Open;
form2.treeview1.Items.Clear;
treenode1:=form2.treeview1.Items.Add(nil,'系部班级'); //添加根目录
form2.adoquery1.First;
while not form2.adoquery1.Eof do
begin
//在根目录下添加子目录,文本为'系部编号/系部名称'字段的内容
treenode2:=form2.treeview1.Items.Addchild(treenode1,
form2.adoquery1.Fieldbyname('系部编号').value
+'/'+form2.adoquery1.Fieldbyname('系部名称').value);
form2.adoquery2.Close;
form2.adoquery2.SQL.Clear;
form2.adoquery2.SQL.Add('select * from 系部班级 where 系部名称=:系部名称');
form2.adoquery2.Parameters.ParamByName('系部名称').Value:=form2.adoquery1.Fields[1].Value;
form2.adoquery2.Open;
//在系部名下再分别添加班级名称
while not form2.adoquery2.Eof do
begin
form2.treeview1.Items.AddChild(treenode2,form2.adoquery2.fieldbyname('班级编号').Value
+'/'+form2.adoquery2.fieldbyname('班级名称').Value);
form2.adoquery2.Next;
end;
form2.adoquery1.Next;
end;
end;
procedure Tform2.FormCreate(Sender: TObject);
begin
statusbar1.Panels[0].Width:=400;
statusbar1.Panels[1].Width:=130;
StatusBar1.Panels[1].Text:='今天是: '+datetostr(date);
StatusBar1.Panels[2].Text:='现在的时间是: '+timetostr(time);
StatusBar1.Panels[0].Text:='欢迎使用学生成绩管理系统!';
end;
procedure Tform2.FormActivate(Sender: TObject);
begin
edit21.ReadOnly:=True;
edit22.ReadOnly:=True;
edit23.ReadOnly:=True;
edit24.ReadOnly:=True;
edit25.ReadOnly:=True;
edit26.ReadOnly:=True;
edit27.ReadOnly:=True;
edit28.ReadOnly:=True;
dbgrid1.ReadOnly:=True;
edit3.ReadOnly:=True;
edit18.ReadOnly:=True;
edit19.ReadOnly:=True;
TreeViewShow;
comboboxlist1;
StatusBar1.Panels[0].Text:=StatusBar1.Panels[0].Text
+'当前用户是:'+form1.Edit1.Text;
if trim(form1.Edit1.Text)='admin' then
begin
n14.Enabled:=True;
n15.Enabled:=False;
end
else
begin
n14.Enabled:=False;
n15.Enabled:=True;
end;
end;
procedure Tform2.N2Click(Sender: TObject);
begin
form3.ShowModal;
end;
procedure Tform2.N3Click(Sender: TObject);
begin
form4.ShowModal;
end;
procedure Tform2.N4Click(Sender: TObject);
begin
form5.ShowModal;
end;
procedure Tform2.N19Click(Sender: TObject);
begin
form2.Close;
end;
procedure Tform2.N6Click(Sender: TObject);
begin
form6.ShowModal;
end;
procedure Tform2.N7Click(Sender: TObject);
begin
form7.ShowModal;
end;
procedure Tform2.N9Click(Sender: TObject);
begin
form8.ShowModal;
end;
procedure Tform2.N10Click(Sender: TObject);
begin
form9.ShowModal;
end;
procedure Tform2.N12Click(Sender: TObject);
begin
form10.ShowModal;
end;
procedure Tform2.N14Click(Sender: TObject);
begin
form11.ShowModal;
end;
procedure Tform2.N15Click(Sender: TObject);
begin
form12.ShowModal;
end;
procedure Tform2.N17Click(Sender: TObject);
begin
form13.ShowModal;
end;
procedure Tform2.TreeView1DblClick(Sender: TObject);
var
xb,bj:string;
i:integer;
begin
if not treeview1.Selected.HasChildren then
//当双击树形目录中的班级名称时将系部名称和班级名称赋值给相应的文本编辑框
begin
bj:=trim(treeview1.Selected.Text);
xb:=trim(treeview1.Selected.Parent.Text);
edit21.Text:=xb;
edit22.Text:=bj;
edit23.Text:=xb;
edit24.Text:=bj;
edit25.Text:=xb;
edit26.Text:=bj;
edit27.Text:=xb;
edit28.Text:=bj;
ComboboxList1;
for i:=0 to Combobox1.Items.Count do
Combobox2.Items.Add(Combobox1.Items.Strings[i]);
end;
end;
procedure Tform2.Button1Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit21.Text:='';
edit22.Text:='';
end;
procedure Tform2.Button2Click(Sender: TObject);
var
bjbh,xh,xm,s1,s2:string;
i:integer;
begin
s1:=trim(edit22.Text);
i:=pos('/',s1);
if i>0 then
bjbh:=copy(s1,1,i-1)
else
bjbh:='';
xh:=trim(edit1.Text);
xm:=trim(edit2.text);
s1:='select * from 学生基本信息表';
s2:=' order by 学号';
if (bjbh<>'') and (xh<>'') and (xm<>'') then
s1:=s1+' where 班级编号='+quotedstr(bjbh)
+' and 学号='+quotedstr(xh)
+' and 姓名='+quotedstr(xm)+s2
else if (bjbh<>'') and (xh<>'') and (xm='') then
s1:=s1+' where 班级编号='+quotedstr(bjbh)
+' and 学号='+quotedstr(xh)+s2
else if (bjbh<>'') and (xh='') and (xm<>'') then
s1:=s1+' where 班级编号='+quotedstr(bjbh)
+' and 姓名='+quotedstr(xm)+s2
else if (bjbh<>'') and (xh='') and (xm='') then
s1:=s1+' where 班级编号='+quotedstr(bjbh)+s2
else if (bjbh='') and (xh<>'') and (xm<>'') then
s1:=s1+' where 学号='+quotedstr(xh)
+' and 姓名='+quotedstr(xm)+s2
else if (bjbh='') and (xh<>'') and (xm='') then
s1:=s1+' where 学号='+quotedstr(xh)+s2
else if (bjbh='') and (xh='') and (xm<>'') then
s1:=s1+' where 姓名='+quotedstr(xm)+s2
else if (bjbh='') and (xh='') and (xm='') then
s1:=s1+s2;
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add(s1);
adoquery3.Open;
end;
procedure Tform2.Button6Click(Sender: TObject);
var
s1:string;
begin
DBgrid1.Font.Color:=clteal;
try
//只根据学号或姓名进行模糊查询
adoquery3.close;
adoquery3.sql.clear;
s1:='select * from 成绩视图';
if (trim(edit13.Text)<>'') and (trim(edit14.Text)<>'') then
s1:=s1+' where 学号 like '+quotedstr('%'+trim(edit13.Text)+'%')
+' or 姓名 like '+quotedstr('%'+trim(edit14.Text)+'%')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -