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

📄 tree.~pas

📁 以从医院病案室获得的3022例数据为样本
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit tree;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, DB, ADODB;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    run: TButton;
    ADOTable1: TADOTable;
    ADOTable1gxy: TBooleanField;
    ADOTable1xlsc: TBooleanField;
    ADOTable1dmyh2: TBooleanField;
    ADOTable1gxb: TBooleanField;
    ADOTable1gxz: TBooleanField;
    ADOTable1nxg: TBooleanField;
    ADOTable1wy: TBooleanField;
    ADOTable1wky: TBooleanField;
    ADOTable1chy: TBooleanField;
    ADOTable1jxgy: TBooleanField;
    ADOTable1yxgy: TBooleanField;
    ADOTable1gyh: TBooleanField;
    ADOTable1szjb: TBooleanField;
    ADOTable1mxzqg: TBooleanField;
    ADOTable1fxb: TBooleanField;
    ADOTable1fjh: TBooleanField;
    ADOTable1jzb: TBooleanField;
    ADOTable1ggj: TBooleanField;
    ADOTable1jzy: TBooleanField;
    ADOTable1dsz: TBooleanField;
    ADOTable1dny: TBooleanField;
    ADOTable1qlx: TBooleanField;
    ADOTable1fgg: TBooleanField;
    ADOTable1zhi: TBooleanField;
    ADOTable1pfb: TBooleanField;
    ADOTable1yany: TBooleanField;
    ADOTable1quchi: TBooleanField;
    ADOTable1bnz: TBooleanField;
    ADOTable1qgy: TBooleanField;
    ADOTable1swm: TBooleanField;
    ADOTable1erl: TBooleanField;
    ADOTable1bdy: TBooleanField;
    ADOTable1feiy: TBooleanField;
    ADOTable1jzcy: TBooleanField;
    ADOTable1weiy: TBooleanField;
    ADOTable1shiy: TBooleanField;
    ADOTable1gany: TBooleanField;
    ADOTable1ruxy: TBooleanField;
    ADOTable1gjy: TBooleanField;
    ADOTable1biyy: TBooleanField;
    ADOTable1bgy: TBooleanField;
    ADOTable1tnb: TBooleanField;
    ADOQuery1: TADOQuery;
    ADOQuery1gxy: TBooleanField;
    ADOQuery1xlsc: TBooleanField;
    ADOQuery1dmyh2: TBooleanField;
    ADOQuery1gxb: TBooleanField;
    ADOQuery1gxz: TBooleanField;
    ADOQuery1nxg: TBooleanField;
    ADOQuery1wy: TBooleanField;
    ADOQuery1wky: TBooleanField;
    ADOQuery1chy: TBooleanField;
    ADOQuery1jxgy: TBooleanField;
    ADOQuery1yxgy: TBooleanField;
    ADOQuery1gyh: TBooleanField;
    ADOQuery1szjb: TBooleanField;
    ADOQuery1mxzqg: TBooleanField;
    ADOQuery1fxb: TBooleanField;
    ADOQuery1fjh: TBooleanField;
    ADOQuery1jzb: TBooleanField;
    ADOQuery1ggj: TBooleanField;
    ADOQuery1jzy: TBooleanField;
    ADOQuery1dsz: TBooleanField;
    ADOQuery1dny: TBooleanField;
    ADOQuery1qlx: TBooleanField;
    ADOQuery1fgg: TBooleanField;
    ADOQuery1zhi: TBooleanField;
    ADOQuery1pfb: TBooleanField;
    ADOQuery1yany: TBooleanField;
    ADOQuery1quchi: TBooleanField;
    ADOQuery1bnz: TBooleanField;
    ADOQuery1qgy: TBooleanField;
    ADOQuery1swm: TBooleanField;
    ADOQuery1erl: TBooleanField;
    ADOQuery1bdy: TBooleanField;
    ADOQuery1feiy: TBooleanField;
    ADOQuery1jzcy: TBooleanField;
    ADOQuery1weiy: TBooleanField;
    ADOQuery1shiy: TBooleanField;
    ADOQuery1gany: TBooleanField;
    ADOQuery1ruxy: TBooleanField;
    ADOQuery1gjy: TBooleanField;
    ADOQuery1biyy: TBooleanField;
    ADOQuery1bgy: TBooleanField;
    ADOQuery1tnb: TBooleanField;
    DataSource1: TDataSource;
    Button1: TButton;
    procedure runClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure setvalue(var i,itnb:integer);
begin                                                       //置零,初始化各值
i:=0;
itnb:=0;
end;


procedure TForm1.runClick(Sender: TObject);
var
i,itnb:integer;
item: TListItem;              // 动态item
procedure  fillTable(num,i,itnb:integer)  ;     //填表的嵌套过程
var
jnum,jitnb,jptnb,jitnb_no:string;
ptnb:real;
itnb_no:integer;
begin
    itnb_no:=i-itnb;
    if i<>0
    then
    ptnb:=itnb/i
    else
    ptnb:=8;
    jnum:=inttostr(num);
    jitnb_no:=inttostr(itnb_no);
    jitnb:=inttostr(itnb);
    jptnb:=floattostr(ptnb);
    item.caption := jnum ;
    item.subitems.Add(jitnb);
    item.subitems.Add(jitnb_no)   ;
    item.subitems.Add(jptnb);
end;



begin
try
   with adoquery1 do
   begin
     sql.clear;
     sql.add('select * from tjE_g ');
     open;
     listview1.Items.BeginUpdate;                 //开始更新
     try
     listview1.items.clear;
     

setvalue(i,itnb);

first;
  while not eof do                                                       //1
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='1')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='1')and(fieldbyname('tnb').AsVariant='1')
         then
           itnb:=itnb+1
         else
            itnb:=itnb;
       next;
     end   ;
     item := listview1.items.add;
fillTable(1,i,itnb);
setvalue(i,itnb);

first;                                                                  //2
  while not eof do
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='0')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='0')and(fieldbyname('tnb').AsVariant='1')
         then
           itnb:=itnb+1
         else
            itnb:=itnb;
       next;               
     end   ;
     item := listview1.items.add;
fillTable(2,i,itnb);
setvalue(i,itnb);


first;                                                                  //3
  while not eof do
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='0')and(fieldbyname('gxz').AsVariant='1')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='0')and(fieldbyname('gxz').AsVariant='1')and(fieldbyname('tnb').AsVariant='1')
         then
           itnb:=itnb+1
         else
            itnb:=itnb;
       next;               
     end   ;
     item := listview1.items.add;
fillTable(3,i,itnb);
setvalue(i,itnb);

first;                                                                  //4
  while not eof do
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='0')and(fieldbyname('gxz').AsVariant='0')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='1')and(fieldbyname('swm').AsVariant='0')and(fieldbyname('gxz').AsVariant='0')and(fieldbyname('tnb').AsVariant='1')
         then
           itnb:=itnb+1
         else
            itnb:=itnb;
       next;
     end   ;
     item := listview1.items.add;
fillTable(4,i,itnb);
setvalue(i,itnb);

first;                                                                  //5
  while not eof do
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='0')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='1')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='0')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='1')and(fieldbyname('tnb').AsVariant='1')
         then
           itnb:=itnb+1
         else
            itnb:=itnb;
       next;
     end   ;
     item := listview1.items.add;
fillTable(5,i,itnb);
setvalue(i,itnb);

first;                                                                  //6
  while not eof do
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='0')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='0')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='0')and(fieldbyname('swm').AsVariant='1')and(fieldbyname('gxz').AsVariant='0')and(fieldbyname('tnb').AsVariant='1')
         then
           itnb:=itnb+1
         else
            itnb:=itnb;
       next;
     end   ;
     item := listview1.items.add;
fillTable(6,i,itnb);
setvalue(i,itnb);

first;                                                                  //7
  while not eof do
begin
  with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='0')and(fieldbyname('swm').AsVariant='0')and(fieldbyname('gxz').AsVariant='1')
         then
           i:=i+1
         else
            i:=i;
with adoquery1 do
if (fieldbyname('gxb').AsVariant='1')and(fieldbyname('gxy').AsVariant='0')and(fieldbyname('swm').AsVariant='0')and(fieldbyname('gxz').AsVariant='1')and(fieldbyname('tnb').AsVariant='1')
         then

⌨️ 快捷键说明

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