- 浏览: 2071198 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。
一.建立工程目录
首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各个目录:
<Doc>:用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等);
<Source>:用来存放Delphi源程序中的”.Dpr”,”.Pas”,”.Dfm”等文件;
<Dcu>:该目录中存放”.Dcu”文件,将'.Pas'与'.Dcu'文件分开存放只是为了让Source目录的内容更加清楚一些;
<Bin>:存放工程的输出文件,比如”.Exe”,”.Dll”或者”.Ocx”等等;
<Log>:用来存放日志文件;通常在这个目录中我会放一个”<项目名称>程序员日志.Txt”文件。
<Images>:当然是存放工程中用到的图片的目录了。一般情况下,这个目录是少不了的。假如还用到其他资源,那么也一样建立各自的目录,比如Wav,比如Avi等等。
二.设置工程选项
在Delphi中创建一个新的工程,将此工程保存到Source目录中,同时:
a. 选一个耐看的,与项目有些联系的图标作为这个工程的图标。当然,这个图标可能只是临时用用的,但是总要比Delphi默认的那个难看的要好才行,要不然,怎么对得起自己?
b.将Project Options -> Directories/Conditionals页面中的Output Directory设置为Bin目录;
c.将Unit output Directory设置为Dcu目录。
三.添加常量单元
添加一个新的Unit,另存为“unt<工程名> Consts.Pas”,用来保存工程中用到的常量。
四.有关窗体(Form)及单元(Unit)
按照匈牙利命名法则给Form命名,则一个用来登录的窗体可以命名为'FrmLogin',而其单元名可以为'untLogin'。通常,两个对应的Form和Unit的名称在除去'Frm'或'unt'的缩写后应当保持一致。
在Unit的头部添加本单元的注释,注释的格式可以参照Delphi的源码,但是至少应当包含以下几项:功能描述;作者;版权;创建时间;最后修改时间;修改历史等等。
将新创建好的Form的Caption设置为该Form类的名称,而不是使用Delphi默认的。比如,将Form1更名为FrmLogin 后,此时我们获得了TFrmLogin这个新的窗体类,并且Delphi自动将窗体的Caption更新为'FrmLogin'。依我看,该 Caption应当为'TFrmLogin'才是,因为我们在设计的是一个窗体类TFrmLogin,而不是仅仅对FrmLogin进行操作。
向TFrmLogin这样功能明确的窗体类,许多人都有在设计期就将其Caption设置为诸如“操作员登录”这种名称的习惯。我的习惯是, 象“操作员登录”这样的常量,通常存放在unt<工程名>Consts.Pas中,用ResourceString来定义,或者用Const 来定义。至于窗体的Caption的命名,应当属于运行期的工作。所以,我往往在TForm.OnCreate事件触发之时才对Caption进行操作, 比如:
procedure TFrmLogin.FormCreate(Sender: TObject);
begin
Caption := csLoginTitle;
....
end;
五.关于Format函数的使用
有iYear,iMonth,iDay三个数据,要显示诸如“生日:1976/3/18”这样的信息,你通常怎么做?使用s := '生 日:'+IntToStr(iYear)+'.'+IntToStr(iMonth)+'.'+IntToStr(iDay); 吗?这样实在是太累了。 我的习惯是,在unt<工程名>Consts.Pas中增加一个常量csBirthDayFormat = '生日:%d/%d/%d'来保 存显示格式,然后使用s := Format(csBirthDayFormat, [iYear, iMonth, iDay]);这样的语句完成数据 的拼装。这么做的好处显而易见,那就是你只需在一个地方维护数据的显示格式。
Format函数功能强大,我对它很是推崇,你呢?
六.关于注册表或者Ini文件的存储
原先访问注册表我通常使用TRegistry,而访问Ini文件通常使用TIniFile。这两个类的使用方法各不相同,因此想要使用相同的代码既能访问注册表又能访问Ini文件几乎是不可能的。真头疼啊!
终于我发现了救星!那就是TRegistryIniFile类。查看Registry单元,我们发现,TRegistryIniFile继承 自TCusomIniFile。而TIniFile也是继承于TCusomIniFile。因此,使用抽象类TCusomIniFile来实现对注册表或 者Ini文件的访问便是一举两得了。比如:
var
csmInifile: TCusomIniFile;
begin
if blUseIniFile then//如果使用Ini文件
csmInifile:= TIniFile.Create(csRootKey)
else
csmInifile:= TRegistryIniFile.Create(csRootKey);
//接着就可以使用csmIniFile对Ini文件进行访问,
//或者用类似访问Ini文件的方式访问注册表。
七.关于TStream流以及TFileStream,TMemoryStream等等
TFileStream和TMemoryStream都继承自抽象类TStream,这意味着我们可以使用一套代码完成对文件和内存的存取 操作。因此,定义一些接口的时候,我往往倾向于将参数的类型定义为抽象类,而不是具体类。比如,要完成保存功能的一个函数,定义成
function Save(AStream: TStream): Boolean;
就比定义成
function Save(AStream: TFileStream): Boolean;
要灵活的多。
前一个定义是具有前瞻性的,因为它可以适用于以后可能出现的新型态的流。而后一个定义只适用于TFileStream这种流(当然包括TFileStream的子类),呆板多了。
我的习惯:如果存在抽象类,那么尽量将参数定义为抽象类的类型,毕竟,我们无法预见未来。
八.多使用TAction
Delphi 4以后引入了Action的概念,并且在Standard组件栏中增加TActionList组件。使用Action的好处是,控件状态同步的烦恼从此一扫而空!
发表评论
-
form打开时的关闭代码
2011-10-25 20:29 1593摘自:http://topic.csdn.n ... -
TUpdateSQL更新问题 提示Update Failed
2011-08-29 20:26 1247摘自:http://topic.csdn.net/u/200 ... -
图解如何用Eurekalog跟踪程序错误
2011-08-12 07:28 951图解如何用Eurekalog跟踪程序错误 摘自:h ... -
VirtualBox 复制VDI 并能创建新的虚拟机
2011-07-21 11:14 2751摘自:http://www.nonabyte.net/how- ... -
截获所有异常 不报错
2011-07-12 16:52 1249摘自:http://media.ccidnet.c ... -
delphi exe程序以及DLL程序如何在模块内部获得各自的路径
2011-07-11 16:38 1312delphi Exe程序以及DLL程序如何在模块内部获得各自的 ... -
Delphi文本文件读写
2011-07-11 14:55 1270Delphi文本文件读写 (2008-10-31 1 ... -
Delphi自定义的消息的使用
2011-05-31 14:12 2323阅:已验证,可通过; 摘自:http://blog.1 ... -
怎么查看OutputDebugString输出的信息?debugview
2011-05-25 16:02 3842网上很多说用debugview查看,我自己写了一个程序,里面用 ... -
Delphi里查看该变量的内存值
2011-05-25 13:32 1137Delphi里查看该变量的内存值:Run==>Evalu ... -
注册表操作 写入autorun启动项,键值为本程序的全路径
2011-05-20 15:40 1835procedure TForm4.Button2Click ... -
报说包frx7和frxdb7都包含了某个单元的错误
2011-05-11 09:59 10441. 问题描述:在安装FastReport3的时候,安装到- ... -
Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
2011-05-03 14:34 1473摘自:http://blog.csdn.net/g ... -
WM_USER的说明 用户消息ID
2011-04-28 10:46 1700WM_USER 摘自:http://baike.bai ... -
ToolButton不能改变大小
2011-04-28 10:38 3471问题描述:ToolButton不能改变大小? 问 ... -
Delphi里TOOLBAR 上的button的caption为什么显示不出来啊
2011-04-20 17:55 1781Delphi里TOOLBAR 上的button的caption ... -
delphi指针简单入门
2011-04-11 21:42 1164摘自:http://topic.csdn.net/t/2003 ... -
Delphi中paramstr的用法 应用程序间传递数据
2011-04-01 14:33 2119Delphi中paramstr的用法 应用程序间传递数据 ... -
Delphi中的THashedStringList对象 --大数据量时
2011-04-01 13:54 5167Delphi中的THashedStringLi ... -
inherited Create(AOwner); 和直接写inherited有区别吗
2011-03-26 15:44 1331摘自:http://zhidao.baidu.com/que ...
相关推荐
以下是一些核心的Delphi开发习惯: 1. **模块化编程**:将大型项目分解为小的、独立的单元,如类、组件或函数,有助于提高代码的可读性和可重用性。每个模块应有明确的功能,并遵循单一职责原则。 2. **注释与文档...
这本书深入浅出地讲解了Delphi 6的各个核心概念和实用技术,旨在帮助读者快速掌握Delphi开发技能,提高软件开发效率。 首先,书中会详细讲解Delphi 6的集成开发环境(IDE),包括项目管理、源代码编辑器、调试器和...
7. IDE自定义:Delphi5的IDE允许用户自定义快捷键、工具栏和代码模板,适应不同的开发习惯,提高工作效率。 8. 示例代码和教程:光盘中的Code部分可能包含了各种示例代码和教程,涵盖了从基本操作到复杂应用的各个...
《Delphi XE10 聊天应用开发详解》 Delphi,这款由Embarcadero Technologies开发的集成开发环境(IDE),以其强大的Object Pascal编程语言和VCL(Visual Component Library)框架闻名,深受程序员喜爱。在本文中,...
对于初学者来说,了解这两种语言的开发规范是非常重要的,可以帮助他们形成良好的编程习惯,提升代码质量和效率。本文将深入探讨C#与Delphi在开发规范上的异同。 首先,我们来看看C#。C#是微软公司推出的面向对象的...
标题中的“个人理财软件Delphi开发的”表明这款软件是使用Delphi编程语言进行开发的。Delphi是一款基于Object Pascal的集成开发环境(IDE),它以其高效、快速编译和生成原生代码的能力而著名,尤其适合开发桌面应用...
Delphi开发助手是一款专为Delphi编程环境设计的实用工具,旨在提高开发效率,简化代码编写过程。Delphi,全称Embarcadero Delphi,是一款强大的对象 Pascal 编程工具,广泛应用于Windows桌面应用、移动应用以及跨...
《Delphi开发的MSSQL管理工具深度解析》 Delphi是一种流行的面向对象的编程语言,以其高效性和灵活性在开发领域占据一席之地。而针对MSSQL数据库的管理工具,是数据库管理员和开发者日常工作中不可或缺的辅助软件。...
用IntraWeb开发Web应用,与使用Delphi开发普通程序几乎一样,这样,一个优秀的Delphi程序员经过简单的实践就可以成为优秀的Web应用开发员,所有的Delphi所给你的习惯和经验都可以得以保留,这真是一件很美妙的事情。...
### Delphi 6应用开发参考知识点详述 #### 第1章 Delphi集成开发环境 **1.1 Delphi 6.0简介** ...这对于Delphi开发人员来说是一份宝贵的资源,不仅适合新手入门,也适合有一定基础的开发者深入学习和参考。
《腾龙汽配管理系统》是由Delphi编程语言开发的一款汽车维修配件管理软件,它以其高效、易用的特点,为汽车修理行业的配件管理提供了强大的工具。本文将深入探讨Delphi技术在该系统中的应用以及汽配管理的核心功能。...
通过以上分析,我们可以了解到Delphi开发日历组件的基本流程和注意事项。结合提供的资源,我们可以逐步构建出一个功能强大且易于使用的日历组件。记得在实践中不断测试和优化,以提供最佳的用户体验。
Delphi是一种强大的面向对象的编程环境,主要用于Windows应用程序的开发。它基于Pascal语言,以其高效、快速的编译能力和直观的集成开发环境(IDE)而受到程序员的青睐。本主题将深入探讨Delphi的高级编程技巧和在...
总结,利用Delphi开发住宿餐饮管理系统,尤其是客房管理系统,能够充分利用其强大功能,提高开发效率,同时也便于后期维护和扩展。通过深入理解Delphi的特性和实践开发过程,开发者能够构建出符合业务需求、用户体验...
在这个项目中,我们选择了Delphi作为前端开发工具,Access作为后台数据库管理系统,创建了一个学生管理系统。下面将详细阐述这两个工具以及在开发过程中的关键知识点。 Delphi是一款强大的RAD(快速应用程序开发)...
Delphi 多国语言开发包是一款专为使用Delphi编程环境的开发者设计的工具,它极大地简化了在应用程序中实现多语言支持的过程。这个开发包包含了一系列组件和示例项目,帮助开发者轻松地将程序转化为支持多种语言的...
《基于Delphi开发的学生信息管理系统详解》 在信息化飞速发展的今天,学生信息管理系统的存在显得尤为重要。本文将深入探讨一款基于Delphi编程环境开发的学生信息管理系统,旨在为读者提供全面的技术理解与应用指导...
在“Delphi开发的教学课件框架”中,我们探讨的是如何利用Delphi构建教学课件的系统框架,这个框架可以作为教学资源的开发模板,帮助教师和开发者高效地制作具有互动性和丰富多媒体元素的教学软件。 1. **Delphi...
《Delphi 7开发案例-图书管理系统》是一个适合初学者深入学习Delphi编程技术的经典项目。这个系统涵盖了图书管理、读者管理、用户管理和图书类型等多个功能模块,旨在提供一个全面的图书信息处理平台。 首先,我们...
《生产管理系统-Delphi数据库开发经典案例解析》是一份深入探讨如何使用Delphi进行数据库开发的资源,其中包含了丰富的实践案例和源代码。这个系统旨在帮助企业优化生产流程,提高效率,减少错误,实现数据的精准...