以下讨论均基于Delphi XE8,主要是利用DELPHI新版的功能,如:Unicode,泛型,匿名函数等[XE2 后应该都支持]。
用新特性的好处是少写代码,提高效率。本博客不再讨论Delphi旧版,旧版资料太多,无需太多重复。
本博客不讨论第三方控件,因为Delphi没落已成事实,第三方控件很难再去支持新版,但Delphi本身作为非程序员的工具,还是非常合适的。
非程序员要用DELPHI生存(生存是指用Delphi熟练正确地解决问题)下来,请参考以下技能:(本文会不断更内容并加上实例代码)
要打造一套自己的delphi单元支持链,遇到问题,可以快速开工。
一、缺省技能:语法,常用控件的应用,这些都是可查询知识。
关于类的知识的入门视频:
1) Delphi XE8 入门教学001(优酷视频) , 基础操作
2) Delphi XE8 入门教学002(优酷视频) , 两个窗体相互引用的问题。
3) Delphi XE8 入门教学003(优酷视频) , TForm 可视化继承。
4) Delphi XE8 入门教学004源码 , FrmMain 引用 FrmProduct,但 FrmProduct 不准引用 FrmMain,
用事件来传递 Product 的值给 FrmMain 。
二、命名法则:用英文单词给变量(类名,单元名,控件名等)取正确的名字。关于命名
三、必掌握技能:
1.对TThread进行扩展和改进,变成基础线程类,以后所有需要用线程的地方,都从此类继承。
如果不能掌握线程,程序就缺少了太多的可能性。稍耗时的地方,将会变得极其糟糕。
线程视频教学: Delphi XE8 线程001-003(优酷视频) ,
1).线程001源码 线程视频001中源码
2).线程002源码 线程视频002中源码
3).线程003源码 线程视频003中源码
4).线程004源码 本例用多个线程计算 N 的累加和。
5).线程005源码 本例给线程发指令,让线程做不同的工作。
6).线程006源码 本例是线程向调用者请求数据。
7).线程007源码 本例是线程组来解决同一个问题.
8).线程008源码 本例是在线程中连接数据库。
请先学004,005,这两个示例最简单,然后再从001开始学习实用型的线程用法。
其它线程示例:
A) TSimpleThread,以后都线程应用均从TSimpleThread派生
B) 把多个线程的某种操作,如:访问数据库的代码集中(或者说阻塞)到一个特定线程中。
2.带泛型的TList类
3.基于1,2的线程池
4.常用的字串操作函数功能
四、实用功能:基于第以上再扩展到具体就用的技能。
1.保存参数
Delphi 实现Ini文件参数与TEdit和TCheckBox绑定(TSimpleParam)
2.定时任务
五、根据情况选择的技能
1.基础外挂功能. A. 发消息外挂 B.键盘鼠标外挂 C.用DLL下键盘Hook.
2.操作网页,模拟网页. A.操作IE或TWebBrowse B.用Idhttp读网页或模拟登录
a) 用IdHttpEx读网页
b) 操作IE,001
3.DataSnap. A.实现Rest服务供其它程序调用 B.简单的三层
4.用Delphi操作数据库。 如:MSSQL,建表,写SQL,写存储过程,理解锁,在存储过程中用Applock等。
5.Windows API. Delphi基于windows,但许多windows功能在Delphi中并未实现,这就需要去调用Windos 的API.
如:VPN拨号,Win API 调用起来麻烦,各版本还有差异,要学会看MSDN,并构造那一大串参数
六、重要但又不重要的技能,如:各种高大上算法。我们是非程序员,请奉行拿来主义,请奉行简单粗暴原则!
七、其它技能
修改Delphi IDE代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)
总之:要少写代码,提高效率并要写正确!