当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 在VCL中包含有一个TList类,几乎可以实现
 

 

 ·dfm文件与xml文件互转    »显示摘要«
    摘要: dfm文件是delphi中存储窗体控件信息的,有时为了对大批量的dfm文件操作(如:批量替换控件、作检查等),往往不是太方便。xml对结构化的数据读写则很强,将文本类型的dfm转为xml后进行操作,再转回dfm存储大大方便了操作。 //dfm to xml procedure dfm2xml(adfmstrings: tstrings; axml: idsxmldocument);......
    摘要: “每逢春夏,千鹤云集”的青城山,在此栖居了上千年的仙鹤纷纷飞走,从此失踪了。当地居民纷纷指责:这都是房地产大开发惹的祸!也许不是这个原因,也许是;全球多个国家出现气候异常,有没有根本的方法来防止呢,可能没有。人类的最大bug就是癌症,以及艾滋病、sars等的出现。没有根本的防治方法,也找不出根本的原因。搞软件的也总会碰到许多疑难杂症,有的解决了,有的无法解决。我们来对比分......


自己编写树(Tree)的封装类
在vcl中包含有一个tlist类,几乎可以实现<链表>所有功能,delphi的工程师真是伟大.但是在实际应用中需要ttree类,来实现<树>的功能,我写了两个类tyutree,tyunode.可以方便实现,树创建,结点增删.移动功能.请大家指教.

procedure test(); 【程序编程相关:ShadowStarFastEditor

代码实例: 【推荐阅读:ShadowStarCodeFast使用

 yutree: tyutree; 【扩展信息:多层数据库开发十三:剖析几个数据库应用程

var

  node: tyunode;

begin  

  //第1步:创建树.增加第一个结点0

yutree := tyutree.create;

node := yutree.add(nil);//nil,表示增加根结点

node.data := pointer(0);

 

 

 

 

//第2步:在结点0下增加子结点1

node := yutree.addchild(node);node指向结点0

node.data := pointer(1);

 

 

 

 

 

 

//第3步:在结点1下增加子结点2

node := yutree.addchild(node);

node.data := pointer(2);

 

 

 

 

 

 

//第4步:切换到结点2的父结点1

node := node.getparent;

 

 

 

 

 

 

 

 

//第5步:在结点1下增加子结点3,并作为第1个子结点

node := yutree.addchildfirst(node);

node.data := pointer(3);

 

 

 

 

 

 

//第6步:切换到结点3的父结点1

node := node.getparent;

 

 

 

 

 

 

//第7步:增加结点1下子结点4,作为最后一个子结点

node := yutree.addchild (node);

node.data := pointer(4);

 

 

 

 

 

//第8步:增加结点4的兄弟结点5,作为第一个兄弟结点

node := yutree.addfirst(node);

node.data := pointer(5);

 

 

 

 

 

 

//t第9步:切换到结点5的下一个兄弟结点3

node := node.getnextbrother;

 

 

 

 

 

 

 

 

//第10步:在结点3下插入一个兄弟结点6

node := yutree.add(node);

node.data := pointer(6 );

 

 

 

 

 

 

//第11步:删除结点6

node.delete; //或yutree.delete(node);

 

 

 

 

 

//其它用法

  //结点2.getnextbrother() = 结点4        返回该结点的下一个兄弟

  //结点2.getprevbrother() = 结点3      返回该结点的上一个兄弟


...   下一页
 ·自绘xp风格菜单    »显示摘要«
    摘要:   这是以前写的代码,自绘xp风格的菜单,硬盘坏了后以为没了,最后写的一个软件要自定义风格,“翻箱倒柜”的终于在我可爱的古董机^_^上找到了一个应用的例子。还是把它放到blog上来,即可共享又可作为备用 :)  把主菜单的onmeasureitem指向measuremainitem、onadvanceddrawitem指向drawmainitem,子菜单的onmeasur......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE