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. tomcat 下配置 可 调试

    set JAVA_OPTS=-Djute.maxbuffer=2048000 set console_log=true 起始行配置 rem Ensure that any user defined C ...

  2. 2018面向对象程序设计(Java)第3周学习指导及要求

    2018面向对象程序设计(Java) 第3周学习指导及要求(2018.9.11-2018.9.16)   学习目标 适应老师教学方式,能按照自主学习要求完成本周理论知识学习: 掌握Java Appli ...

  3. 苹果笔记本 如何配置成php开发系统

    方法一 启动内置的apace 打开终端输入命令 停止服务:sudo /usr/sbin/apachectl stop 开启服务:sudo /usr/sbin/apachectl start 重启服务: ...

  4. Oracle中Null与空字符串' '的区别

    含义解释: 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零. ORACLE允许任何一种数据类型的字段为空,除 ...

  5. 《深入理解java虚拟机》笔记

    二.java内存区域与内存溢出异常 0.在内存管理领域,java与c/c++不同的是,在java虚拟机自动内存管理机制下,java不需要手动去为对象写配对的free内存的代码,不容易出现内存泄漏和内存 ...

  6. vim常用命令之多行注释和多行删除

    vim中多行注释和多行删除命令,这些命令也是经常用到的一些小技巧,可以大大提高工作效率.   1.多行注释:   1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;   ...

  7. Jmeter 录制脚本(一)

    第一种方法:使用Badboy来录制脚本 1. 启动Badboy, 工具栏上的红色圆形按钮是默认启动的,在地址栏直接输入被测试WEB项目的地址,然后点击右边的箭头. 2.录制完成后,点击工具栏上的黑色按 ...

  8. IE浏览器调试工具不能使用

    Mac 使用VMware Fusion虚拟机,安装Windows 7 Service Pack 1 (SP1). 移除自带的IE8,下载并安装IE11(64位). IE 11 调试工具不能使用,并且调 ...

  9. Centos7安装Wkhtmltopdf -- nodejs将html转pdf

    安装wkhtmltopdf wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.1 ...

  10. 【python中调用shell命令使用PIPE】使用PIPE作为stdout出现假卡死的情况——将stdout重定向为输出到临时文件

    在Python中,调用:subprocess.Popen(cmd, stdout = PIPE, stderr = PIPE, shell= true)的时候,如果调用的shell命令本身在执行之后会 ...