📄 xueshengdanganguanli.txt
字号:
4 学生成绩档案管理系统的功能实现
本软件的主要目标是实现学校学生信息管理的自动化,主要功能是对有关学生信息的存储与查询管理。
4.1登录系统模块编码设计
系统启动后,将首先出现用户登录窗体如下,用户首先输入用户名,然后输入密码。
procedure Tlogin_form.BitBtn1Click(Sender: TObject);
var
pass:variant;
begin
pass:=ADOTable1.Lookup('user',edit1.Text,'password');
if pass = edit2.text then
begin
main_form.Show;
strloginname:=edit1.Text;
main_form.StatusBar1.Panels[1].Text:=edit1.Text;
main_form.WindowState:=wsMaximized;
self.close;
end
else
begin
showmessage('用户名或密码错误,请重新输入');
edit1.text:='';
edit2.text:='';
edit1.setfocus;
end;
end;
procedure Tlogin_form.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
BitBtn1.Click;
end;
procedure Tlogin_form.FormShow(Sender: TObject);
begin
ADOTable1.TableName:='login';
ADOTable1.Open;
self.edit1.SetFocus;
end;
4.2用户管理编码设计
选择系统菜单里的用户管理功能,出现用户综合管理窗口,在该窗口中当前登录用户可以创建一个或多个有固定权限的用户、删除用户、当前用户密码修改。
procedure TForm6.FormCreate(Sender: TObject);
var
newitem:Tlistitem;
strname,strp:string;
begin
adotable1.Open;
adotable1.Edit;
adotable1.First;
while not adotable1.Eof do
begin
newitem:=listview1.Items.Add();
strname:=adotable1.fields.fields[0].asstring;
strp:=adotable1.Fields.Fields[2].AsString ;
newitem.Caption:=strname;
newitem.SubItems.Add(strp);
adotable1.next;
end;
adotable1.Close;
adotable1.Free;
end;
procedure Tform6.listviewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
BitBtn1.Enabled := selected;
seluser:=Item.Caption ;
end;
procedure TForm6.BitBtn1Click(Sender: TObject);
var
strname:string;
begin
listview1.DeleteSelected;
adotable1.Edit;
adotable1.First;
while not adotable1.Eof do
begin
strname:=adotable1.Fields.Fields[0].AsString;
if (seluser=strname) then
adotable1.Delete;
end;
adotable1.Next;
adotable1.Post;
end;
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
4.3修改密码编码设计
用户可以直接修改当前用户的密码,非常的方便.
procedure TForm7.BitBtn1Click(Sender: TObject);
begin
if (edit4.Text =adotable1.Fields.Fields[0].AsString)and (edit1.Text =adotable1.Fields.Fields[1].AsString) then
begin
adotable1.Edit;
adotable1.Fields.Fields[1].AsString :=edit2.Text;
adotable1.Post;
showmessage('恭喜你,修改成功!');
end
else
showmessage('原用户名及密码错误,请重新输入!') ;
end;
procedure TForm7.BitBtn2Click(Sender: TObject);
begin
close;
end;
4.4学生档案信息管理编码设计
选择学生信息管理菜单项里的基本信息功能,出现基本信息窗口(如图),用户可以添加新的学生信息,但注意:学号不能和已有学号相同。
//以下为添加模块代码
procedure TForm8.BitBtn1Click(Sender: TObject);
begin
adotable1.Open;
adotable1.Edit;
adotable1.FieldByName('学号').AsString:=trim(edit1.Text);
adotable1.FieldByName('姓名').AsString:=trim(edit2.Text);
adotable1.FieldByName('性别').AsString:=trim(combobox1.Text);
adotable1.FieldByName('出生日期').AsString:=trim(edit12.Text);
adotable1.FieldByName('民族').AsString:=trim(combobox4.Text);
adotable1.FieldByName('政治面貌').AsString:=trim(combobox3.Text);
adotable1.FieldByName('籍贯').AsString:=trim(edit5.Text);
adotable1.FieldByName('入学时间').AsString:=trim(edit6.Text);
adotable1.FieldByName('入学成绩').AsInteger :=strtoint(trim(edit7.Text));
adotable1.FieldByName('宿舍号').AsString:=trim(edit8.Text);
adotable1.FieldByName('宿舍电话').AsString:=trim(edit9.Text);
adotable1.FieldByName('家庭地址').AsString:=trim(edit10.Text);
adotable1.FieldByName('家庭电话').AsString:=trim(edit11.Text);
adotable1.FieldByName('备注').AsString:=trim(memo1.Text);
adotable1.FieldByName('班级').AsString:=trim(edit3.Text);
adotable1.FieldByName('年级').AsString:=trim(combobox2.Text);
adotable1.FieldByName('班主任').AsString:=trim(edit4.Text);
adotable1.Post;
showmessage('你已经成功添加该信息!');
adotable1.Close;
end;
procedure TFrame3.Button1Click(Sender: TObject);//此为查找学生信息模块
begin
adoquery1.Close;
adoquery1.SQL.Clear;
if (combobox1.Text<>'')and(combobox2.Text<>'')and(edit1.Text<>'') then
begin
adoquery1.SQL.Add('select * from studentlist');
adoquery1.SQL.Add('where');
adoquery1.SQL.Add(combobox1.Text);
adoquery1.SQL.Add(combobox2.Text);
adoquery1.SQL.Add(''''+edit1.Text+'''');
adoquery1.Open;
end;
end;
// 此为删除确认模块代码
procedure TForm8.BtnDelClick(Sender: TObject);
begin
if messagebox(Application.Handle,'如果您点确定键此条记录将被删除','警告',
mb_ICONWarning+mb_yesno+mb_defbutton2)= mryes then
qutil2.Delete;
end;
//此为条件查找模块代码
procedure TForm8.SpeedButton1Click(Sender: TObject);
var
bid1,bid2,cid1,cid2,native,politic,nam:string;
Str:string;
begin
bid1 := trim(edit2.Text);
bid2 := trim(edit3.Text);
cid1 := trim(combobox4.Items[combobox4.itemindex]);
cid2 := trim(combobox5.Items[combobox5.itemindex]);
native := trim(edit6.Text);
politic := trim(combobo1.Text);
nam := edit5.text;
str := '';
if bid1 <>'' then
str := str+ 'AND bID>='''+bid1+'''';
if bid2 <> '' then
str := str+ 'AND bID<='''+bid2+'''';
if cid1 <> '' then
str := str+ 'AND cID>='''+cid1+'''';
if cid2 <> '' then
str := str+ 'AND cID<='''+cid2+'''';
if nam <> '' then
str := str + 'AND bName='''+nam+'''';
if native <> '' then
str := str+'AND bNation='''+native+'''';
if politic <> '' then
str := str+'AND bPolitic='''+politic+'''';
delete(str,1,4);
qutil2.SQL.Clear;
qutil2.SQL.Add('SELECT * FROM Arcinfo ');
if str <> '' then
qutil2.SQL.Add('where ' + str);
qutil2.SQL.add('order by bID');
qutil2.close;
qutil2.Open;
end;
//此为图片添加代码
procedure TForm8.SpeedButton12Click(Sender: TObject);
var
f : file of Byte;
size:int64;
begin
if OpenDialog1.Execute then
begin
AssignFile(f,OpenDialog1.FileName);
Reset(f);
Size:= FileSize(f);
CloseFile(f);
if Size >1024000 then
begin
showmessage('载入相片不能大于10K,请检查相片是否正确');
exit;
end;
dbbPhoto.Picture.LoadFromFile(OpenDialog1.FileName);
end;
end;
procedure TForm8.BtnPrintClick(Sender: TObject);
begin
FrmRep.Rep1.Print;
end;
procedure TForm8.BtnCloseClick(Sender: TObject);
begin
close;
end;
//此为档案信息浏览代码
procedure TForm5.ListView1Click(Sender: TObject);
var
newitem:Tlistitem;
str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,str11,str12:string;
begin
n:=n+1;
if n<2 then
begin
frames.Parent := TWinControl(self);
frames.Name := 'frame3';
frames.Show;
frames.Align := alClient;
frames.Visible :=true;
frames.ListView1.Align :=alClient;
frames.ListView1.Visible:=true;
frames.GroupBox1.Visible :=false;
frames.Button1.Visible :=false;
frames.Button2.Visible :=false;
frames.Button3.Visible :=false;
adotable1.Edit;
adotable1.First;
while not adotable1.Eof do
begin
newitem:=frames.ListView1.Items.Add();
str1:=adotable1.fields.fields[0].asstring;
str2:=adotable1.Fields.Fields[1].AsString;
str3:=adotable1.Fields.Fields[2].AsString;
str4:=adotable1.Fields.Fields[3].AsString;
str5:=adotable1.Fields.Fields[4].AsString;
str6:=adotable1.Fields.Fields[5].AsString;
str7:=adotable1.Fields.Fields[10].AsString;
str8:=adotable1.Fields.Fields[11].AsString;
str9:=adotable1.Fields.Fields[7].AsString;
str10:=adotable1.Fields.Fields[9].AsString;
str11:=adotable1.Fields.Fields[13].AsString;
str12:=adotable1.Fields.Fields[14].AsString;
newitem.Caption:=str1;
newitem.SubItems.Add(str2);
newitem.SubItems.Add(str3);
newitem.SubItems.Add(str4);
newitem.SubItems.Add(str5);
newitem.SubItems.Add(str6);
newitem.SubItems.Add(str7);
newitem.SubItems.Add(str8);
newitem.SubItems.Add(str9);
newitem.SubItems.Add(str10);
newitem.SubItems.Add(str11);
newitem.SubItems.Add(str12);
adotable1.next;
end;
//adotable1.Close;
//adotable1.Free;
end
else
begin
frames.ListView1.Align :=alClient;
frames.ListView1.Visible:=true;
frames.GroupBox1.Visible :=false;
frames.Button1.Visible :=false;
frames.Button2.Visible :=false;
frames.Button3.Visible :=false;
end;
end;
4.5班级设置编码设计
选择班级管理菜单项里的班级设置信息功能,出现班级信息窗口户可以添加新的班级,但应注意:新添班级编号不能和已有班级编号相同。
//此为班级添加代码
procedure Taddclass.BitBtn1Click(Sender: TObject);
begin
unit9.classlist.ADOTable1.Open;
unit9.classlist.ADOTable1.Edit;
unit9.classlist.ADOTable1.Append;
unit9.classlist.ADOTable1.Fields.Fields[0].AsString:=trim(edit2.Text);
unit9.classlist.ADOTable1.Fields.Fields[1].AsString:=trim(edit1.Text);
unit9.classlist.ADOTable1.Fields.Fields[2].AsString:=trim(combobox1.Text);
unit9.classlist.ADOTable1.Fields.Fields[3].AsString:=trim(edit3.Text);
unit9.classlist.ADOTable1.Post;
self.close;
end;
//此为班级删除代码
procedure Tclasslist.BitBtn2Click(Sender: TObject);
begin
adotable1.Edit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -