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

📄 unit10.pas

📁 学员成绩管理系统可以对学员的成绩进行管理
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit10;

interface

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

type
  TForm10 = class(TForm)
    TreeView1: TTreeView;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    Panel2: TPanel;
    Panel3: TPanel;
    Image1: TImage;
    DBGrid1: TDBGrid;
    PopupMenu1: TPopupMenu;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Panel4: TPanel;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    CheckBox1: TCheckBox;
    ComboBox1: TComboBox;
    CheckBox2: TCheckBox;
    Edit1: TEdit;
    CheckBox3: TCheckBox;
    Edit2: TEdit;
    CheckBox4: TCheckBox;
    Edit3: TEdit;
    CheckBox5: TCheckBox;
    Edit4: TEdit;
    BitBtn1: TBitBtn;
    TabSheet2: TTabSheet;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    RadioButton1: TRadioButton;
    Edit5: TEdit;
    BitBtn2: TBitBtn;
    Panel5: TPanel;
    RadioButton2: TRadioButton;
    Edit6: TEdit;
    Edit7: TEdit;
    ComboBox2: TComboBox;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    BitBtn3: TBitBtn;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    PageControl3: TPageControl;
    TabSheet8: TTabSheet;
    GroupBox5: TGroupBox;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    DBEdit25: TDBEdit;
    DBEdit26: TDBEdit;
    DBEdit27: TDBEdit;
    DBEdit28: TDBEdit;
    DBEdit29: TDBEdit;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    DBEdit21: TDBEdit;
    TabSheet9: TTabSheet;
    GroupBox6: TGroupBox;
    DBMemo3: TDBMemo;
    GroupBox2: TGroupBox;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    RadioButton3: TRadioButton;
    Edit12: TEdit;
    BitBtn4: TBitBtn;
    Panel6: TPanel;
    RadioButton4: TRadioButton;
    Edit13: TEdit;
    Edit14: TEdit;
    ComboBox3: TComboBox;
    Edit15: TEdit;
    Edit16: TEdit;
    Edit17: TEdit;
    Edit18: TEdit;
    Edit19: TEdit;
    BitBtn5: TBitBtn;
    PageControl2: TPageControl;
    TabSheet6: TTabSheet;
    GroupBox3: TGroupBox;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    Panel7: TPanel;
    Panel8: TPanel;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    TabSheet7: TTabSheet;
    GroupBox4: TGroupBox;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    DBMemo1: TDBMemo;
    DBMemo2: TDBMemo;
    DBEdit30: TDBEdit;
    BitBtn12: TBitBtn;
    BitBtn13: TBitBtn;
    DBGrid2: TDBGrid;
    BitBtn14: TBitBtn;
    BitBtn15: TBitBtn;
    N25: TMenuItem;
    N15: TMenuItem;
    N24: TMenuItem;
    GroupBox7: TGroupBox;
    GroupBox8: TGroupBox;
    GroupBox9: TGroupBox;
    GroupBox10: TGroupBox;
    GroupBox11: TGroupBox;
    GroupBox12: TGroupBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure CheckBox5Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure BitBtn13Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn15Click(Sender: TObject);
    procedure BitBtn14Click(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
    procedure AddClass(AId:integer;FatherNode:TTreeNode);//添加分类过程
    procedure AddDataToDB(CurrNode,FatherNode:TTreeNode);//添加实际数据到数据库
  public
    { Public declarations }
  end;

var
  Form10: TForm10;

implementation
uses unit6,unit9,unit11,unit12,unit13,unit14,unit2;

{$R *.dfm}

procedure TForm10.AddClass(AId: integer;FatherNode:TTreeNode);
var
    QryTmp:TADOQuery;
    myNode:TTreeNode;
    myLabel:TLabel;
begin
    QryTmp:=TADOQuery.Create(self);
    QryTmp.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'ztj007.mdb;Persist Security Info=False';
    QryTmp.SQL.Add('select * from 数据处理录入表');
    QryTmp.SQL.Add('where FatherId='+inttostr(AId));
    QryTmp.Open;
    while not QryTmp.Eof do
    begin
        myNode:=Treeview1.Items.AddChild(FatherNode,QryTmp.fieldbyname('CName').AsString);

        //创建标签,caption存放各分支的AutoId表识
        myLabel:=TLabel.Create(self);
        myLabel.Visible:=false;
        myLabel.Caption:=QryTmp.fieldbyname('AutoId').AsString;
        myNode.Data:=myLabel;

        AddClass(QryTmp.fieldbyname('AutoId').AsInteger,myNode); //递归调用过程
        QryTmp.Next;
    end;
    QryTmp.Free;
end;

procedure TForm10.Button1Click(Sender: TObject);
var
    strName:string;
    myNode:TTreeNode;
begin
    strName:=inputbox('新增系部','请输入系部名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.Add(treeview1.Selected,strName);
    if assigned(treeview1.Selected) then
        AddDataToDB(myNode,treeview1.Selected.Parent)
    else
        AddDataToDB(myNode,nil);
    myNode.selected:=true;
end;

procedure TForm10.AddDataToDB(CurrNode,FatherNode: TTreeNode);
var
    myLabel:TLabel;
    QryTmp:TADOQuery;
    AId:integer;  //为节点标位
begin
    if not assigned(FatherNode) then
        AId:=0
    else if not assigned(FatherNode.Data) then
        AId:=0
    else
    AId:=strtoint(TLabel(FatherNode.Data).caption);
    QryTmp:=TADOQuery.Create(self);
    QryTmp.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'ztj007.mdb;Persist Security Info=False';
    QryTmp.SQL.Add('select * from 数据处理录入表');
    QryTmp.SQL.Add('where FatherId='+inttostr(AId));
    QryTmp.Open;
    QryTmp.Append;
    QryTmp['FatherId']:=AId;
    QryTmp['CName']:=CurrNode.Text; //节点内容
    QryTmp.Post;

    //创建记录currNode的AutoId表识标
    myLabel:=TLabel.Create(self);
    myLabel.Visible:=False;
    MyLabel.Caption:=QryTmp.fieldbyname('AutoId').AsString;
    CurrNode.Data:=myLabel;
    
    QryTmp.Free;
end;   

procedure TForm10.FormCreate(Sender: TObject);
begin
AddClass(0,nil);
statusbar1.Panels[0].Width:=178;
statusbar1.Panels[1].Width:=330;
StatusBar1.Panels[2].Text:='现在的日期是:'+datetostr(date)+'   时间是: '+timetostr(time);
StatusBar1.Panels[0].Text:='欢迎您回来!';
end;

procedure TForm10.N2Click(Sender: TObject);
var
    strName:string;
    myNode:TTreeNode;
begin
    strName:=inputbox('新增系部','请输入系部名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.Add(treeview1.Selected,strName);
    if assigned(treeview1.Selected) then
        AddDataToDB(myNode,treeview1.Selected.Parent)
    else
        AddDataToDB(myNode,nil);
    myNode.selected:=true;
    end;

procedure TForm10.N3Click(Sender: TObject);
 var
    strName:string;
    myNode:TTreeNode;
begin
   strName:=inputbox('新增专业','请输入专业名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.AddChild(treeview1.Selected,strName);
    AddDataToDB(myNode,treeview1.Selected);
    myNode.selected:=true;
end;

procedure TForm10.N4Click(Sender: TObject);
var
    strName:string;
    myNode:TTreeNode;
begin
    strName:=inputbox('新增班级','请输入班级名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.AddChild(treeview1.Selected,strName);
    AddDataToDB(myNode,treeview1.Selected);
    myNode.selected:=true;
end;



procedure TForm10.N18Click(Sender: TObject);
var
    strName:string;
    myNode:TTreeNode;
begin
    strName:=inputbox('新增系部','请输入系部名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.Add(treeview1.Selected,strName);
    if assigned(treeview1.Selected) then
        AddDataToDB(myNode,treeview1.Selected.Parent)
    else
        AddDataToDB(myNode,nil);
    myNode.selected:=true;
end;

procedure TForm10.N19Click(Sender: TObject);
 var
    strName:string;
    myNode:TTreeNode;
begin
   strName:=inputbox('新增专业','请输入专业名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.AddChild(treeview1.Selected,strName);
    AddDataToDB(myNode,treeview1.Selected);
    myNode.selected:=true;
end;

procedure TForm10.N20Click(Sender: TObject);
var
    strName:string;
    myNode:TTreeNode;
begin
    strName:=inputbox('新增班级','请输入班级名称:  ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    myNode:=treeview1.Items.AddChild(treeview1.Selected,strName);
    AddDataToDB(myNode,treeview1.Selected);
    myNode.selected:=true;
end;

procedure TForm10.N23Click(Sender: TObject);
var
    QryTmp:TADOQuery;
begin
    if not assigned(treeview1.Selected) then
        exit;
    if application.MessageBox('是否删除分类及下级分类?','提示',mb_yesno+mb_iconquestion)=idno then
        exit;
    //删除下级别分类
    QryTmp:=TADOQuery.Create(self);
    QryTmp.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'ztj007.mdb;Persist Security Info=False';
    QryTmp.SQL.Add('delete * from 数据处理录入表');
    QryTmp.SQL.Add('where FatherId='+TLabel(Treeview1.Selected.data).Caption);
    QryTmp.ExecSQL;
    QryTmp.SQL.Clear;
    QryTmp.SQL.Add('delete * from 数据处理录入表');
    QryTmp.SQL.Add('where AutoId='+TLabel(Treeview1.Selected.data).Caption);
    QryTmp.ExecSQL;
    Treeview1.Selected.Delete;
end;

procedure TForm10.N22Click(Sender: TObject);
var
    QryTmp:TADOQuery;
    strName:string;
begin
    if not assigned(treeview1.Selected) then
        exit;
    strName:=inputbox('修改','请输入新的名称: ','');
    strName:=trim(strName);
    if strName='' then
        exit;
    //删除下级别分类
    QryTmp:=TADOQuery.Create(self);
    QryTmp.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'ztj007.mdb;Persist Security Info=False';
    QryTmp.SQL.Add('update 数据处理录入表 set CName='+''''+strName+'''');
    QryTmp.SQL.Add('where AutoId='+TLabel(Treeview1.Selected.data).Caption);
    QryTmp.ExecSQL;
    Treeview1.Selected.Text:=strName;
end;

procedure TForm10.N8Click(Sender: TObject);
begin
 application.CreateForm(Tform6,form6);
 form6.ShowModal;
 end;

procedure TForm10.N10Click(Sender: TObject);
begin
 application.CreateForm(Tform9,form9);

⌨️ 快捷键说明

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