分类文章存档: Delphi编程

Delphi 的单元测试工具DUnit

以前写Java时候经常使用一款单元测试工具JUnit,工作之后在用Delphi,自然也要换到Delphi下面的单元测试工具DUnit。

DUnit是XUnit家族中的一员,是Extreme Programming测试实现Xtreme Testing的一种工具。

DUnit的用法和JUnit很类似,如果有相关经验很容易上手。这里是DUnit的官方地址:http://dunit.sourceforge.net/ ,下载地址:http://sourceforge.net/projects/dunit/

将DUnit解压至任意目录(我习惯在D:/Study/DelphiLib/),打开Delphi 7,将DUnit路径添加到 Tools- > Environment Options 里面的 Library -> Library Path,这样DUnit就安装完成了。

如果有装过CnPack 的Delphi工具包,就可以很轻松的在 File -> New -> Other -> CnPack -> DUnit测试实例生成向导 中建立新的测试用例。

阅读全文 »

Dlphi资料小汇总

学Delphi大概一周时间,我经历从当初的初生牛犊不怕虎,到现在感慨Delphi的强大和复杂。说实话,我以前觉得Delphi是一门过气的语言,现在我重新修正自己的观点,没有弱势的语言,只有菜鸟的程序员。

Delphi的整个架构让我叹为观止,我这么短的学习周期,只能学到一点基础的皮毛。由于完全自学,我花费很多精力在资料的收集上(很痛苦没有找到一本合适的书),现在我把我这段时间的资料收集整理,分享我的所得(这篇文章经历1个星期,发布时候遇到服务器卡住,丢失了一次,幸好我灵机一动,用FireFox脱机找回了缓存页面,还是得信春哥啊)。

资料繁杂,很多都是来自信息采集站点,我无法一一署名,在这里对这些资料的原作者表示谢意。

阅读全文 »

Delphi学习笔记06

我的博客所在的江西服务器需要服务器搬迁,所以这两天博客无法访问,看到404错误的童鞋们对不起拉…

几个概念:Owner/Parent/Sender/Self

Owner/Parent的字面意义都有点拥有者的意思,一个Button的Owner和Parent很有可能都是Form,但实际上这两个概念是没有关系的。

Owner和Parent的区别:Parent对应组件的视觉容器而不是拥有者,比如一个RadioGroupRadioButton的Parent;Owner对应组件的拥有者。尽管Parent和Owner很多时候都是同一个对象,但是还是需要严格区分的。

Sender代表的是触发事件的组件,有了Sender参数,能够使用多个组件配合使用。在代码中可以使用(Sender as TButton).Caption这种语句来转换TObject类型。

Self呢,相当于C++/Java中的this,指向当前对象,代表自身的意思。没有太多可讲的,我觉得如果要获取某个属性,前面加上Self.是个好习惯。

这几个关键字能够加深对面向对象的理解,在VCL编程中,也是必须掌握的。

阅读全文 »

Delphi学习笔记05

今天是第五天了,我对自己的学习速度很不满意,还是处在半懵懂状态。语法还要经过大脑才能想出来,一点不顺手。

VCL控件使用了几个简单的,BDE数据库ADO数据库这一块还没有涉及,网络编程也没涉及到。

这几天事情很烦,18号的课程设计赶不上了,我之前又是做的“PylexChat”聊天系统这么有挑战性的题目。唉,真开始后悔了,老师那里也不好说,郁闷。还得等我组员回来讨论一下,这周就得答辩了。当时老师突然说:“那你不是在学Delphi么,就用Delphi写一个吧”,我狂晕,学一门语言又不是吃菜,总得有个进度吧~

昨天请同学吃饭,我把我生日提前一个月过,请一帮兔崽子吃饭唱歌,闹到11点多才回来,所以昨天的总结今天早晨才更新。

ps:我之前使用的Delphi7版本是绿色精简完美版,在插入AboutBox跟踪源码(在某个VCL类名如TForm上Ctrl+单击)时候出现找不到".pas"的错误,我之后重新安装了188MB的安装版,错误消失了,所以推荐大家使用安装版。

阅读全文 »

Delphi学习笔记04

今天主要学习了Object Pascal的面向对象部分:类的定义、继承、多态这些基本操作。

1.Delphi的关键词好麻烦,居然result都没法用,返回值的错误我查找了很久才明白为什么编译器说result重定义。

2.语法结构严谨,比如类定义必须在interface之后,过程/函数的实现必须要分开,而无法写成C++/Java那种inner类定义,写起来难免缚手缚脚。

3.大小写的语法规范很麻烦,像Integer/String这些关键词,我真不知道该不该首字母大写。还有变量的定义,按照“Delphi编码规范”是应该大写,可是这样就需要频繁的使用Shift,还是喜欢Java的那种首字符小写的驼峰式,能够清楚地把函数/过程/变量区分开。

4.fuction/procedure除了返回值又没什么大区别,现在想来真爱死void了。

阅读全文 »