Delphi,Lazarus程序设计改进一法

作者:steven

QQ:1565498246

Delphi/Lazarus有一个思想就是方法、函数名调用,后边可以不使用括号(),比如调用函数Now,这使得程序看上去是访问一个局部变量,降低了程序可读性,所以本方法提出:

1.将局部变量加小写L前缀;

2.将方法调用全部加(),防止和变量名混淆,使代码可读性降低。比如调用函数Now ,正确的方法是 : Now()

我们来看具体实例:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

{ TfrmMain }

TfrmMain = class(TForm)

btnTest: TButton;

procedure btnTestClick(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

var

frmMain: TfrmMain;

implementation

{$R *.lfm}

{ TfrmMain }

procedure TfrmMain.btnTestClick(Sender: TObject);

var lNow:Tdatetime;

begin

lNow := Now();  //这里的Now() 过程本来按pascal语法可以不要(),但可能和下面的代码混淆

self.caption := formatdatetime('yyyy-MM-dd',lNow);

end;

end.

===================================================

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

{ TfrmMain }

TfrmMain = class(TForm)

btnTest: TButton;

procedure btnTestClick(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

var

frmMain: TfrmMain;

implementation

{$R *.lfm}

{ TfrmMain }

procedure TfrmMain.btnTestClick(Sender: TObject);

var Now:Tdatetime;

begin

//Now := ;

self.caption := formatdatetime('yyyy-MM-dd',Now);  //我们可以 ,这里的now不是调用的标准库的函数

end;

End.

输出的是没有初始化的日期数据。

同样,我们需要将方法,自定义函数,过程,都加上(),举例如下:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

{ TfrmMain }

TfrmMain = class(TForm)

btnTest: TButton;

procedure btnTestClick(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

procedure test();

end;

var

frmMain: TfrmMain;

implementation

{$R *.lfm}

{ TfrmMain }

procedure TfrmMain.btnTestClick(Sender: TObject);

var Now:Tdatetime;

begin

//Now := ;

//self.caption := formatdatetime('yyyy-MM-dd',Now);

test();

end;

procedure TfrmMain.test();

begin

self.caption := 'this is a test';

end;

end.

<a href="http://files.cnblogs.com/stevenlaz/Delphi%2CLazarus%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%94%B9%E8%BF%9B%E4%B8%80%E6%B3%95.pdf">本文PDF格式下载</a>

delphi程序设计改进可读性一法的更多相关文章

  1. delphi程序设计之底层原理

    虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...

  2. delphi程序设计之底层原理(有些深度)

    虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...

  3. 简单Delphi程序设计

  4. Delphi的文件操作

    参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...

  5. 【转】资源文件在Delphi编程中的应用

    段东宁 计亚南 (郴州职业技术学院, 湖南 郴州  423000) 摘要: 资源文件是一种能有效地组织.管理和使用资源的文件形式,在软件开发中有着广泛的应用.本文详细介绍了在Delphi编程中资源文件 ...

  6. Delphi中实现MDI子窗体(转)

        Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容  ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...

  7. Delphi的文件操作(定义,关联,打开,读写,关闭)

    参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...

  8. Delphi基本图像处理方法汇总

    这篇文章主要介绍了Delphi基本图像处理方法,实例汇总了Delphi操作图像实现浮雕.反色.模糊.翻转等常用效果的方法,非常具有实用价值,需要的朋友可以参考下   本文实例汇总了Delphi基本图像 ...

  9. ActiveX数据对象之事务控制在VB和DELPHI中的应用

            本文发表在中国人民解放军"信息工程大学"学报 2001年第3期.        ActiveX数据对象之事务控制在VB和DELPHI中的应用             ...

随机推荐

  1. 启动 idea 编译报错 kotlin

    怀疑是插件问题. 重新删除了.  C:\Users\user  里面inteliJIdea2018.3 缓存 ,解决

  2. 只需两步获取任何微信小程序源码

    http://baijiahao.baidu.com/s?id=1601969343738344659&wfr=spider&for=pc

  3. maven(二)基于intellij idea搭建ssm的maven项目结构

    项目配置文件整合步骤 1.这里使用maven来引入项目所需要的jar包,所以也就不需要手动来管理jar包了. pom.xml 配置模板如下: <project xmlns="http: ...

  4. 抖音爆火的随机点名Java实现原理,没有连接数据库

    抖音爆火的随机点名Java实现原理,没有连接数据库 import java.util.Random; public class Array{ public static void main(Strin ...

  5. session of express

    [session of express] 1.express-session 一个提供session功能库 npm install express-session --save var session ...

  6. linux启动jmeter(二十三),执行./jmeter.sh报错解决方法(转载)

    转载自 http://www.cnblogs.com/yangxia-test 1.l-bash: ./jmeter.sh: Permission denied解决办法:jmeter.sh的执行权限改 ...

  7. oracle 函数的返回值与out参数

    函数的return值是调用函数返回的结果. 而out参数就是单纯的赋值. 例子: function test(aaa in varchar, bbb out integer) return integ ...

  8. 第十一章 串 (c2)KMP算法:查询表

  9. 高德地图开发者平台获取sHA1值

    一般在  Application 中进行初始化 /** * 获取高德SHA1值 * */ public static String sHA1(Context context) { try { Pack ...

  10. Java IO如何读写文件

    Java把这些不同来源和目标的数据都统一抽象为数据流:Java语言的输入输出功能是十分强大而灵活的:在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上 ...