手头上没有书

解决方案 »

  1.   

    property ListItems[Index: Integer]: TActionListItem
      

  2.   

    intCount:=recordset_temp.RecordCount ;
       Label4.Caption :=inttostr(intCount) + '名';
       for i:=1 to adoquery.RecordCount do
       begin
          listitem:=apart_LIST.Items.Add ;
          listitem.Caption :=adoquery.Fields[1].AsString ;
          
          listitem.SubItems.Add(adoquery.Fields[2].asstring);
          listitem.SubItems.Add(adoquery.Fields[3].asstring);
          listitem.SubItems.Add(adoquery.Fields[4].asstring);
          listitem.SubItems.Add).adoqueryFields[5].asstring);
          listitem.SubItems.Add(adoquery.Fields[6].asstring);
          listitem.SubItems.Add(adoquery.Fields[7].asstring);
          listitem.SubItems.Add(adoquery.Fields[8].asstring);
          listitem.SubItems.Add(DateTimeToStr(adoquery.Fields[9].AsDateTime));
          new(p);
          p^ := adoquery.Fields[0].AsInteger ;
          listitem.Data :=p;
          adoquery.Next;
       end;可不可以告诉我最后三句的意思,我不懂listitem.data是什么意思~
    谢谢
      

  3.   

    new(p);
          p^ := adoquery.Fields[0].AsInteger ;
          listitem.Data :=p;指向P结构的一个指针,这个结构是自定义的,任何结构

    type
      PItemData =^TItemData;
      TItemData = record
        FirstName:=String;
    end;
    上面的代码放在 
    type 
     TFrmMain =class(TForm)前面用的时候
    var
      P:=PNodeData;begin
      New(p);分配内存
      P^.firstname:='ddfsdf';
     ListItem.data:=p
     用dispose(p)来释放,只有在DELETE ITEM的时候才能释放,明白了吗
    end;
    New(p)
      

  4.   

    从Delphi角度来说,Delphi内部可以根据这个DAta进行排序,这个你可以设置相关属性完成,当然你也可以不需要,而自己用代码来完成。除了这种情况,delphi不再使用这个属性。
    从程序员角度来说,delphi预留这个属性完全是为编程者提供某些方面的帮助,怎么使用完全看你。
    不要忘了,Data是一个32位地址值,也就是说,你想在这里放置任何宽度为32位的值都行。比如:Integer,DWORD,Float,POinter,只要宽度兼容,都行,至于具体数值代表啥意思,完全看你喽。
      

  5.   

    zhoutler(周进宝) 大哥,请问怎么用Data进行排序,可不可以实现和VB一样的用中文来访问节点的功能?
      

  6.   

    说错了,是可不可以用字符串,就像数据库的FieldByName('asd')一样,而不是用Index
      

  7.   

    TO楼上,是不是这个间思
    type
      PLVRecord = ^TLVRecord;
      TLVRecord = packed record
      xh:string;
      end;var
      p:PLVRecord....
    ...
    p^.xh
      

  8.   

    有点开始懂了,不过还有两个地方不懂~
    1:listitem:=apart_LIST.Items.Add ;  左边是的listitem:Tlistitem,右边复职给左边怎么理解?
    2:p^ := adoquery.Fields[0].AsInteger ; 左边是指针类,右边好像不是指针类型的吧?
       这里又怎么理解
      

  9.   

    1.用一个变量listitem记录新增的列,以方便下面修改这一列的属性
    2.p是指针类型,p^代表p指向的数据,在你的程序中是integer