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

📄 uzhgl.pas

📁 完善的学生管理系统源码 适用于毕业设计和各种小的设计
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Uzhgl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, ExtCtrls, StdCtrls, ImgList, ActnList, DB,
  ADODB, XPMenu, Buttons;

type
  TFmZhgl = class(TForm)
    treeclass: TTreeView;
    Splitter1: TSplitter;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    Panel1: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    listbjkb: TListBox;
    Button1: TButton;
    Button2: TButton;
    ListBox2: TListBox;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Edit1: TEdit;
    GroupBox1: TGroupBox;
    Edit2: TEdit;
    Label4: TLabel;
    Button6: TButton;
    ToolButton4: TToolButton;
    Label5: TLabel;
    Label6: TLabel;
    Edit3: TEdit;
    ImageList1: TImageList;
    stb: TStatusBar;
    pgb: TProgressBar;
    ADOTable2: TADOTable;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Timer1: TTimer;
    Label7: TLabel;
    Edit4: TEdit;
    Label8: TLabel;
    Edit5: TEdit;
    Label9: TLabel;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    XPMenu1: TXPMenu;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    Label3: TLabel;
    Edit6: TEdit;
    GroupBox2: TGroupBox;
    Memo1: TMemo;
    SpeedButton3: TSpeedButton;
    SpeedButton1: TSpeedButton;
    SaveDialog1: TSaveDialog;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure treeclassDblClick(Sender: TObject);
    procedure treeclassEditing(Sender: TObject; Node: TTreeNode;
      var AllowEdit: Boolean);
    procedure treeclassClick(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure listbjkbClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
   // procedure Action1Execute(Sender: TObject);
   // procedure Action2Execute(Sender: TObject);
  private
    { Private declarations }
  public
  // procedure setConn();
  procedure Loadxb();
  procedure Loadbj();
  procedure getbjkc() ;
  procedure getZkc();
  procedure getbjbh(strbjm:string);
  procedure getkcbh(strkcm:string);
    { Public declarations }
  end;

var
  FmZhgl: TFmZhgl;
  NoFShow:boolean;

implementation

uses Udata;

{$R *.dfm}

procedure TFmZhgl.FormCreate(Sender: TObject);
begin
pgb.Parent:=Stb;
pgb.Top:=2;
pgb.Left:=stb.Panels[0].Width ;
pgb.Height :=stb.Height-2;
pgb.Width:=stb.Panels[1].Width ;
//setConn();
stb.Panels[0].Text :='数据载入中---';
end;

procedure TFmzhgl.LoadXb();
 var
 tmptree:TTreeNode;
 strsql:string;
begin
  try
  ADOQuery1.sql.clear;
    ADOQuery1.Active :=false;
    strsql:='select * from txbb ';
    ADOQuery1.sql.add(strsql);
    ADOQuery1.Active :=true;
    ADOQuery1.First;
   pgb.Max :=ADOQuery1.FieldCount;
   pgb.Min:=0;
   pgb.Step:=1;
   pgb.StepIt;
  treeclass.Items.BeginUpdate;
  while not ADOQuery1.Eof do
  begin
   tmptree:=treeclass.Items.Add(treeclass.Selected,ADOQuery1.FieldValues['cxbb_bbm']);
    tmptree.ImageIndex:=0;
   // combobox2.Items.Add(ADOQuery1.FieldValues['cxbb_bbm']);
  ADOQuery1.Next;
  end;
  // combobox1.ItemIndex :=0;

    finally
    treeclass.Items.EndUpdate ;
    ADOQuery1.Active:=false;
    //on E:EAccessViolation do LoadClass();
    end;

end;

 procedure tfmzhgl.Loadbj();
     var
     strclass:string;
     tmptree:TTreeNode;
     k:integer;
     j:integer;
     strsql:string;

    begin
    j:=treeclass.Items.Count -1;
    treeclass.Items.BeginUpdate;

    for k:=j downto 0 do
    begin
    strclass:=trim(treeclass.Items[k].Text) ;

    ADOQuery1.sql.clear;
    ADOQuery1.Active :=false;
    strsql:='select * from tbjb where cbjb_xb='''+strclass+'''';
    //showmessage(strsql);
    ADOQuery1.sql.add(strsql);
    ADOQuery1.Active :=true;
    ADOQuery1.First;

    pgb.Max :=ADOQuery1.FieldCount;
   pgb.Min:=0;
   pgb.Step:=1;
   pgb.StepIt;
   //showmessage(strclass);

  while not ADOQuery1.Eof do
  begin
   tmptree:= treeclass.Items.AddChild(treeclass.Items[k],ADOQuery1.FieldValues['cbjb_bjm']);
   tmptree.ImageIndex:=1;
   //showmessage(ADOQuery1.FieldValues['cbjb_bjm']);
   ADOQuery1.Next;
   end;

   ADOQuery1.Active:=false;
    end;
    treeclass.Items.endUpdate;
    stb.Panels[0].Text :='数据装入完毕';
    pgb.Free ;
    end;
    


procedure TFmZhgl.Timer1Timer(Sender: TObject);
begin
LoadXb();
Loadbj();
getZkc();
timer1.Enabled :=false;
timer1.Free;
end;

procedure TFmZhgl.FormShow(Sender: TObject);
begin

 if not nofshow then
 timer1.Enabled :=true;
nofshow:=true;
end;
procedure TFmzhgl.getbjbh(strbjm:string);
begin
try
  adoquery1.SQL.Clear ;
adoquery1.Close;
adoquery1.SQL.Add('select cbjb_bjbh from tbjb where cbjb_bjm='''+strbjm+'''');
adoquery1.Open;
edit4.text:=ADOQuery1.FieldValues['cbjb_bjbh'];
except
end;
end;
procedure TFmzhgl.getkcbh(strkcm:string);
var
strsql:string;
begin

try
strsql:='select ckcb_kh,ckcb2_ks from tkcb,tkcb2 where ckcb_kc='''+strkcm+'''';
  adoquery1.SQL.Clear ;
adoquery1.Close;
adoquery1.SQL.Add(strsql);
adoquery1.Open;
edit1.text:=ADOQuery1.FieldValues['ckcb_kh'];
except
end;
end;
procedure TFmzhgl.getbjkc() ;
var
strsql:string;
strxq,strbj:string;
begin
strbj:=trim(treeclass.Selected.Text);
strxq:=edit5.Text;
if strxq =''then
strsql:='select ckcb2_kc from tkcb2 where ckcb2_bj='''+strbj+''''

else
strsql:='select ckcb2_kc from tkcb2 where ckcb2_bj='''+strbj+''' and ckcb2_xq='''+strxq+'''';
try
adoquery1.SQL.Clear ;
adoquery1.Close;
adoquery1.SQL.Add(strsql);
adoquery1.Open;
listbjkb.Clear;
while not adoquery1.Eof do
  begin
  listbjkb.Items.Add(adoquery1.FieldValues['ckcb2_kc']);
  adoquery1.Next;
  end;
finally
adoquery1.Close;
end;
end;
procedure TFmZhgl.treeclassDblClick(Sender: TObject);
var
intjsNo:integer;
  begin
  if treeclass.Selected.Parent = nil then
    begin
     //combobox2.Text :=treeclass.Selected.Text;
  intjsno:=treeclass.Selected.Count;
   stb.Panels[1].Text:=treeclass.Selected.Text+'该系班级数:'+inttostr(intjsno);
   exit;
   end;
   getbjkc();
   //combobox2.Text :=treeclass.Selected.Parent.Text;
   edit2.Text :=treeclass.Selected.Text;
end;
procedure tfmzhgl.getZkc();
begin
 try
adoquery1.SQL.Clear ;
adoquery1.Close;
adoquery1.SQL.Add('select * from tkcb order by ckcb_kh');
adoquery1.Open;
listbox2.Clear;
while not adoquery1.Eof do
  begin
  listbox2.Items.Add(adoquery1.FieldValues['ckcb_kc']);
  adoquery1.Next;
  end;
finally
adoquery1.Close;
end;
end;

procedure TFmZhgl.treeclassEditing(Sender: TObject; Node: TTreeNode;
  var AllowEdit: Boolean);
begin
allowedit:=false;
end;

procedure TFmZhgl.treeclassClick(Sender: TObject);

var
intjsNo:integer;
  begin
  if treeclass.Selected.Parent = nil then
    begin
  intjsno:=treeclass.Selected.Count;
   stb.Panels[1].Text:=treeclass.Selected.Text+'该系班级数:'+inttostr(intjsno);
   exit;
   end ;
   //combobox2.Text :=treeclass.Selected.Parent.Text;
   edit2.Text :=treeclass.Selected.Text;
   getbjbh(edit2.Text);

end;

procedure TFmZhgl.ComboBox2Change(Sender: TObject);
begin
button6.Enabled:=true;
end;

procedure TFmZhgl.Edit2Change(Sender: TObject);
begin
begin
button6.Enabled:=true;
end;
 end;
procedure TFmZhgl.Button6Click(Sender: TObject);
var
//strxb:string;
strbj,strbj2:string;
strsql:string;
strbh:string;
begin
if (treeclass.Selected=nil) or (treeclass.Selected.Parent =nil)  then begin
showmessage('请先选中要修改的班级');
exit;
end;
strbh:=edit4.Text;
strbj:=edit2.Text;
strbj2:=trim(treeclass.Selected.Text);
if strbh='' then begin
showmessage('请输入班级编号');
edit4.SetFocus; ;
exit;
end;
if strbj='' then begin
showmessage('请输入班级名');
edit2.SetFocus;
exit;
end;
if application.MessageBox('确认要修改班级吗?','提示',mb_okcancel)=idok then
begin
    strsql:='select * from tbjb where cbjb_bjm='''+strbj+''' and cbjb_bjbh='''+strbh+'''';
    adoquery1.SQL.Clear ;
   adoquery1.Close;
   adoquery1.SQL.Add(strsql);
    adoquery1.Open;
    if not (adoquery1.Eof) and (adoquery1.Bof) then begin
    showmessage('对不起,班级名" '+pchar(strbj)+' 或班级编号'+pchar(strbh)+'"已经存在,不可重复');
    edit2.SetFocus;
    exit;
    end;
    strsql:='update tbjb set cbjb_bjm='''+strbj+''',cbjb_bjbh='''+strbh+''' where cbjb_bjm='''+strbj2+'''';
   try
    adoquery1.SQL.Clear ;
   adoquery1.Close;
   adoquery1.SQL.Add(strsql);
   adoquery1.ExecSQL;
   treeclass.Selected.Text:=strbj;
    memo1.Lines.Add('将班级('+strbj2+')改为('+strbj+')');

    treeclass.Selected.Text:=strbj;
    except
    //showmessage('搞了个错我日');
    end;
end;

end;

procedure TFmZhgl.Button7Click(Sender: TObject);
var

⌨️ 快捷键说明

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