delphi程序设计改进可读性一法
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程序设计改进可读性一法的更多相关文章
- delphi程序设计之底层原理
虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...
- delphi程序设计之底层原理(有些深度)
虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...
- 简单Delphi程序设计
- Delphi的文件操作
参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...
- 【转】资源文件在Delphi编程中的应用
段东宁 计亚南 (郴州职业技术学院, 湖南 郴州 423000) 摘要: 资源文件是一种能有效地组织.管理和使用资源的文件形式,在软件开发中有着广泛的应用.本文详细介绍了在Delphi编程中资源文件 ...
- Delphi中实现MDI子窗体(转)
Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容 ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...
- Delphi的文件操作(定义,关联,打开,读写,关闭)
参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...
- Delphi基本图像处理方法汇总
这篇文章主要介绍了Delphi基本图像处理方法,实例汇总了Delphi操作图像实现浮雕.反色.模糊.翻转等常用效果的方法,非常具有实用价值,需要的朋友可以参考下 本文实例汇总了Delphi基本图像 ...
- ActiveX数据对象之事务控制在VB和DELPHI中的应用
本文发表在中国人民解放军"信息工程大学"学报 2001年第3期. ActiveX数据对象之事务控制在VB和DELPHI中的应用 ...
随机推荐
- JAVA语言 第三周
第三周,跟随菜鸟教程学习了一些简单的JAVA语法,包括数据类型.变量.修饰符.运算符.循环.数组.继承. 这些在结构中与c++相似,但语法有些不同.在这些方面,我做了一些总结. 开学测试那张卷子,被我 ...
- python 删除模块
import systry: import librabbitmqexcept Exception: passelse: version = getattr(librabbitmq, ...
- linux mysqlERROR 1045 (28000): linux忘记数据库密码
已验证没问题 #1.停止mysql数据库(确定能停止掉,不然第二部有问题) /etc/init.d/mysqld stop #2.执行如下命令 mysqld_safe --user=mysql - ...
- .html() 与.text() 获取值、取值 区别
1.html代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- linux系统上项目部署
步骤:(特别注意:虚拟机安装的一般是32位的操作系统,jdk也必须使用32位的)查看虚拟机版本:sudo uname --m i686 //表示是32位 x86_64 // 表示是64位 查看是否已经 ...
- jQuery文档就绪事件
[jQuery文档就绪事件] 为了防止文档在完全加载(就绪)之前运行 jQuery 代码.如果在文档没有完全加载之前就运行函数,操作可能失败. $(document).ready(function() ...
- Frame animation
[Frame animation] An animation defined in XML that shows a sequence of images in order (like a film) ...
- ssh动态端口转发
ssh本地和远程端口转发都需要固定的应用服务器IP和端口,但是很多情况下,应用的端口繁多逐个转发效率不高,而且一些应用使用不固定的端口,经常跳着使用端口,一些网站还不支持IP直接访问,这导致ssh本地 ...
- 2019-3-10——生成对抗网络GAN---生成mnist手写数字图像
""" 生成对抗网络(GAN,Generative Adversarial Networks)的基本原理很简单: 假设有两个网络,生成网络G和判别网络D.生成网络G接受一 ...
- 207. Course Schedule(Graph; BFS)
There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...