以下讨论均基于Delphi XE8,主要是利用DELPHI新版的功能,如:Unicode,泛型,匿名函数等[XE2 后应该都支持]。

用新特性的好处是少写代码,提高效率。本博客不再讨论Delphi旧版,旧版资料太多,无需太多重复。

本博客不讨论第三方控件,因为Delphi没落已成事实,第三方控件很难再去支持新版,但Delphi本身作为非程序员的工具,还是非常合适的。

非程序员要用DELPHI生存(生存是指用Delphi熟练正确地解决问题)下来,请参考以下技能:(本文会不断更内容并加上实例代码)

要打造一套自己的delphi单元支持链,遇到问题,可以快速开工。

一、缺省技能:语法,常用控件的应用,这些都是可查询知识。

A) delphi 基础书籍推荐

B) 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)  把多个线程的某种操作,如:访问数据库的代码集中(或者说阻塞)到一个特定线程中。

C)  delphi 线程Timer

2.带泛型的TList类

TSimpleList,以后的List应用都从此类派生

3.基于1,2的线程池

TSimplePool,以后的线程池应用都从此类派生

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

c) delphi 实现vip126发邮件

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)

总之:要少写代码,提高效率并要写正确!

Delphi 进阶基础技能说明的更多相关文章

  1. 【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码

    [CC2530入门教程-增强版]基础技能综合实训案例(基础版)-上位机源码 广东职业技术学院  欧浩源 一.需求分析 按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体 ...

  2. Apsara Clouder基础技能认证:阿里巴巴编码规范 考试备考题库

    考试网址: https://edu.aliyun.com/clouder/exam/intro/33 共50道题 限时90分钟 阿里云大学Apsara Clouder基础技能认证——阿里巴巴编码规范认 ...

  3. 架构师基础技能-搭建gitLab

    前言 想要成为一名架构师,一定要有从无到有搭建环境的能力,这是作为架构师的基础技能,而gitLab服务器的搭建一定又是重中之重. 相信很多小伙伴的公司也在使用gitLab,但都是你们公司的架构师搭建好 ...

  4. Linux运维工程师必须掌握的基础技能有哪些?

    这个问题挺好的,回答这个问题也是对自身的审查,看看自己还欠缺哪些.(所以我估计得好好思考下,也许下一刻我就会突然惊醒,发现我还是战⑤渣) 首先限定在Linux运维工程师上 回答仅代表我想到,不代表我都 ...

  5. Delphi(ObjectPascal)基础语法

      一个程序分为两个部分:1.程序首部:program 来标识这是一个pascal程序  后面的是可执行文件的名称程序名称2.程序体:说明部分:数据先定义后使用执行部分:以begin开始,以end结束 ...

  6. [基础技能] 安全技术——哈希算法密码破解之彩虹表(Rainbow Table)学习

    1.基础知识 刚刚学习过数字签名的相关知识,以及数字签名的伪造技术,而伪造数字签名归根结底就是密码破解的一个过程,然而直接破解的速度是非常缓慢的,所以有人想出一种办法,直接建立出一个数据文件,里面事先 ...

  7. Delphi线程基础知识

    参考http://blog.chinaunix.net/uid-10535208-id-2949323.html 一.概述 Delphi提供了好几种对象以方便进行多线程编程.多线程应用程序有以下几方面 ...

  8. DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)

    函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一 ...

  9. Dagger2进阶必备技能

    之前写过一篇文章介绍Dagger2的初步知识, 本篇文章主要介绍Dagger2的进阶知识点. 主要包含的内有有 @Binds与@Provides的使用 Provider与Lazy的使用 依赖与包含 D ...

随机推荐

  1. yii操作数据库(PDO)

    1.数据访问对象(DAO): 执行 SQL 语句 数据库连接建立后,SQL 语句就可以通过使用 [CDbCommand] 执行了.你可以通过使用指定的SQL语句作为参数调用 [CDbConnectio ...

  2. codeforces 519A. A and B and Chess,

    A. A and B and Chess time limit per test 1 second memory limit per test 256 megabytes input standard ...

  3. javascript对象继承的实现

    现在有两个对象,需要实现Chinese类型对象对Person类型对象的继承. 这里分两部分,属性和方法. 属性可以直接用构造函数的方法实现继承,而方法则要通过原型链来实现继承. 先解释什么是原型链,每 ...

  4. JavaScript 获取 Div 的坐标

    示例代码: <html> <head> <script> function CPos(x, y) { this.x = x; this.y = y; } /** * ...

  5. 使用myeclipse生成的HibernateSessionFactory的合理性

    作为简单的一个单件模式, getSessionFactory()函数返回null是一个不合理的决定,可以返回一个没有初始化的SessionFactory对象,但是返回null就和这种模式的语意有冲突了 ...

  6. 【Leetcode】二叉树简单路径最大和问题

    问题一:二叉树任意两个叶子间简单路径最大和 示例: -100 /   \ 2   100 /  \ 10   20 思路:这个问题适用于递归思路. 首先,将问题简单化:假设包含最大和summax的简单 ...

  7. windows7旗舰版下载出现蓝屏代码50怎么办?

    windows7旗舰版下载出现蓝屏代码50怎么办?电脑蓝屏BCCode:50. 问题事件名称: BlueScreen OS 版本: 6.1.7601.2.1.0.256.1 区域设置 ID: 2052 ...

  8. Eclipse中更改默认java代码格式【转】

    在写代码时常常有2种代码样式习惯,如下图.由于一直习惯了第一种代码格式,而看第二种代码格式时感觉代码很乱,总找不到“{ }”对称的感觉.Eclipse自动格式化代码的快捷方式是Ctrl+Shift+F ...

  9. properties文件value换行处理方式

    书写方式如下,就可以允许key1的value值换行了,但是整个过程要注意不要在文件中出现任何的非英文非半角的字符 key1=Where did you take the picture?\       ...

  10. json输出用法+jquery validate

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...