易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi递归加载树形(TreeView)列表

//采用递归方法,D7编译调试通过。
//数据采用ADOQuery读取,并将数据暂存在一个动态数组中,树形列表控件为TreeView。
procedure TForm1.LoadTreeInfo;
type
  TInfo = record
    ID,      //代码      
    Name,    //名称
    SuperID  //上级代码              
      : string;
    //附加字段随需添加
  end;
var
  sql: string;
  i, nCount: Integer;
  arrInfo: array of TInfo;
  NewNode: TTreeNode;
  //加载一个节点
  procedure InitOneNode(ANode: TTreeNode; AId: string);
  var
    k: Integer;
  begin
    for k := 0 to length(arrInfo) - 1 do
      if arrInfo[k].SuperID = AId then
      begin
        NewNode := TreeView1.Items.AddChild(ANode, arrInfo[k].Name);
        InitOneNode(NewNode, arrInfo[k].ID);
      end;
  end;
begin
  TreeView1.Items.BeginUpdate;
  TreeView1.Items.Clear;
  sql := 'select ID, Name, SuperID from DictionaryTable order by ID';
  ADOQuery1.Close;
  ADOQuery1.SQL.Text := sql;
  ADOQuery1.Open;
  nCount := ADOQuery1.RecordCount;
  if nCount > 0 then
  begin
    SetLength(arrInfo, nCount);
    for i := 0 to nCount - 1 do
      with arrInfo[i] do
      begin
        ID := Trim(ADOQuery1.FieldByName('ID').AsString);
        Name := Trim(ADOQuery1.FieldByName('Name').AsString);
        SuperID := Trim(ADOQuery1.FieldByName('SuperID').AsString);  //无没有此字段,可根据上下级编码规则赋值
        ADOQuery1.Next;
      end;
  end;
  ADOQuery1.Close;
  if nCount > 0 then
&nb


相关文档:

delphi数据库处理


第一节 BDE、ADO、InterBase和dbExpress
    Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
    BDE(Borland Databas Engine), 是Delph ......

DELPHI如何使用指针?

  DELPHI如何使用指针?
大家都认为,C语言之所以强大,以及其自由性,很大部分体
现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不
支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pasca ......

Delphi中截取文件名

Delphi中截取文件名不含后缀部分 收藏
当文件名含有中文时,不能直接用LeftStr(FileName, Length(FileName - 4))或者用Pos来定位"."的位置来获取。因为中文一个字符相当与两个英文字符。这样截取往往还是把整个FileName都截下来了。
应当使用Copy函数,如下:
TmpFileLength := Pos(extFile, FileName); TmpFileName := ......

《Delphi 算法与数据结构》: 数据对齐

为了加快硬件的访问速度, 编译器通常要使用"数据对齐", 譬如:
//下面结构中: SizeOf(TRec) = 6; 因为 b 在这里也要占 2 字节.
TRec = record
a: Word;
b: Byte;
c: Word;
end
;
//下面结构中: SizeOf(TRec) = 16; 这里的 a 和 b 共占了 8 个字节.
TRec = record
a: Byte;
b: Byte;
c: Do ......

在Delphi中拼装SQL语句的注意点

我使用delphi也不是很长时间,由于经常要用到SQL语句,总结了一些Delphi中使用SQL语句要注意的事项,归纳起来主要有一下几条:
一、空格不要漏:
我们经常要拼装SQL语句,特别是where条件句,在各个语句中别忘了头尾加上空格。因为在一个语句中我们会注意用空格分开关键字但是往往忘了头尾的空格。例如:
sSQL=' select ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号