如何把FORM窗体下的所有控件名称都保存到文本文件中?文本文件的路径是运行程序下的,AA.TXT谢谢!

解决方案 »

  1.   

    var
    CList:Tstringlist;
    begin
    Clist:=Tstringlist.create;
    for i := 0  to form1.ComponentCount - 1 do
        begin
            Clist.add(form1.Components[i].name); 
        end;
    clist.savetofile('xxx.txt');
    end;
      

  2.   


    最后忘了clist.free;了只是这个需求是为什么而产生的呢?
      

  3.   


    谢谢,我要的是如何获取控件名的功能。实际中,并不是要另存到TXT文本的。另外,还有区别是否可视化控件。这个我自己研究研究!
      

  4.   

    delphi组件序列化/反序列化可参考以下函数
    ReadComponentResFile, 
    WriteComponentResFile
    ObjectTextToBinary
    ObjectBinaryToText
    ObjectTextToResource
    ObjectResourceToText
      

  5.   


    我加了判断
    if form1.Components[i].InheritsFrom(TWinControl) then 来过滤是否可视化控件。是这样写的吧!
      

  6.   

    遍历所有控件,然后判断是否可视if GetPropInfo(Components[i].ClassInfo, 'Visible ') <> nil then 
      。
      

  7.   

    你这只是将直接放在窗体上的控件找出来了,如果窗体上有Panel之类容器,而容器又有控件的话?
      

  8.   


    仅有一个名字,你是无法从txt中恢复的。你要有这个名字所对应的类型。要不然,我把一个TMemo对象改名为button1,难道你认为它是一个按扭?
      

  9.   

    cnpack 窗体设计专家 转换成代码 可以把控件名称保存到文本文件.