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

📄 unit1.pas

📁 《Delphi面向对象编程实例教程》源代码____球员信息的浏览.rar《Delphi面向对象编程实例教程》源代码____球员信息的浏览.rar
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    TreeView1: TTreeView;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    Label2: TLabel;
    DBEdit3: TDBEdit;
    Label3: TLabel;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    Label7: TLabel;
    Label8: TLabel;
    DBEdit8: TDBEdit;
    Label9: TLabel;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    Label12: TLabel;
    DBEdit13: TDBEdit;
    Label13: TLabel;
    GroupBox2: TGroupBox;
    Label14: TLabel;
    DBEdit14: TDBEdit;
    Label15: TLabel;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    Label16: TLabel;
    Label17: TLabel;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    Label18: TLabel;
    Label19: TLabel;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    Label20: TLabel;
    Label21: TLabel;
    DBEdit21: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    Label22: TLabel;
    Label23: TLabel;
    procedure FormShow(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
  private
    { Private declarations }
    procedure loadtree;  //目录树的初始化
    function getlevel(levelformat,nowcode: String): integer;
    //获取节点层次
  public
    { Public declarations }
    MainNode: TTreeNode;  //当前节点
    NodeID: String;  //树节点ID
  end;

const
 codeformat='12222';  //编码格式:x xx xx xx xx

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

{ TForm1 }

function TForm1.getlevel(levelformat, nowcode: String): integer;
var
 level,ilen,i: integer;
begin
 level:=-1;
 ilen:=0;
 if (levelformat<>'') and (nowcode<>'') then
  for i:=1 to length(levelformat) do
  //找出当前代码层次
   begin
    ilen:=ilen+StrtoInt(levelformat[i]);
    if ilen=length(nowcode) then
     begin
      level:=i;
      break;
     end;
   end;
 Result:=level;
end;

procedure TForm1.loadtree;
var
 level: integer;
 id,name,nodetxt: String;
 Mynode: array[0..6] of TTreeNode;
begin
 TreeView1.Items.Clear;
 level:=0;
 Mynode[level]:=TreeView1.Items.Add(TreeView1.TopItem,'球员信息表');
 if (not dm.Table1.Active) then
  dm.Table1.Active:=True;
 dm.Table1.First;
 while not dm.Table1.Eof do
  begin
   id:=trim(DM.Table1.fieldbyname('代码').AsString);
   name:=trim(DM.Table1.fieldbyname('名称').AsString);
   nodetxt:=id+'-'+name;
   level:=getlevel(codeformat,id);  //返回代码层次数
   if level>0 then
    Mynode[level]:=TreeView1.Items.AddChild(Mynode[level-1],nodetxt);
   DM.Table1.Next;
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
 loadtree;
end;

procedure TForm1.TreeView1Click(Sender: TObject);
var
 id,name,nodetxt: String;
 num: Integer;
 level: integer;
begin
 MainNode:=self.TreeView1.Selected;
 num:=pos('-',MainNode.Text)-1;
 id:=Copy(MainNode.Text,1,num);

 if MainNode.Text<>'球员信息表' then
  begin
   if id<>'' then
    begin
     Dm.Table1.Open;
     DM.Table1.FindNearest([id]);
    end;
   level:=getlevel(codeformat,id);
  end
 else
  level:=0;
 GroupBox1.Caption:='当前节点是第'+inttostr(level)+'层';
end;

end.

⌨️ 快捷键说明

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