迷你5207专属论坛

注册

 

发新话题 回复该主题

[程序思路]DELPHI自动排版程序 [复制链接]

发表者
这几天在看一些老代码。别的东西先不提,只是单纯说说格式问题。
我的习惯是TAB设置为8,而不是通常默认的4。总感觉这样看起来更方便,不过老代码的排版确实是个问题。每行的缩进竟然不一样 有2空格的,4空格的,还有7空格的!
而且最大的问题就是 -- 长。
不知道大家有没有感觉,当一个文件内的代码行数上了几千,那就是个噩梦啊。哪个begin对应哪个end ,当代码行数一多就很难看出来 -- 如果没有按一定格式排过版的话。
在花了半天的时间为一个文件排过版之后,偶终于暴走了。注意是排过而不是排完,手工排过版的兄弟们一定知道,问题不在于排,而在于对准。有时候不是说一次性就能完全对准的,再找哪儿出了问题就难了。
-------------------------------------------------------
如果什么事情都要偶来做的话,还要计算机干嘛??
-------------------------------------------------------
于是,打算写一个自动排版程序 ,当然目前只支持DELPHI。
-------------------------------------------------------
PS:如果谁觉得偶的思路有问题,那么请提出你的思路供大家对照。如果只是单纯的鄙视 -- 偶会火速删之。。。 。。。如果你觉得你的思路太好以致你不愿拿出来给大家分享,只需保持沉默就好。至于源代码,说真的不是不打算拿出来,只是偶的G宝盘出了问题,一时无法提供连接。真是不好意思了。

-------------------------------------------------------
好了,言归正传,我的思路是这样的:
第一,要读取PAS文件。一开始的时候只支持程序文件就可以了,至于窗体或者项目之类,以后再做也不晚。
第二,要清除前导空格。清除了前导空格,剩下的就可以称为‘原始数据行’。
第三,要清除空行。谁都知道空行是没什么用的。。。当然这是我个人的意见,如果你开发一个非要不清除空行,我也不会有看法。你写程序我怎么可能会有看法。。我写程序,在这种问题上你也不要有看法。。有也不要和我提。。个人爱好问题嘛。
第四,循环。这个循环就是处理缩进的了。我的看法是,人能处理的,计算机就能处理。如果是一般文件,你能不能一次排版完毕?
当然了,这个时候的重要问题就是:
怎么处理。
-----------------------------------------
待续。。
-----------------------------------------
本主题由 皇帝 5207 于 2009-7-3 22:50:38 执行 主题分类 操作
分享 转发
我们都在人生的舞台上笨拙地舞蹈着,并自得其乐。
----
Tel : 13655310832
TOP
沙发

回复:[程序思路]DELPHI自动排版程序

首先看个例子:
i:=0;
if nType then
begin
i := 1;
end;
这个例子没什么实际意义,只是说明一下格式问题。如果要我来排版的话,我会排成这样:

i:=0;
if nType then
begin
        i := 1;
end;
不过问题来了,你知道begin后要缩进,计算机知道么?
---------------------
答案是:不知道。
---------------------
你不告诉计算机怎么做,计算机怎么能知道?!
下面,我拿一个普通的PAS文件来做例子。
我们都在人生的舞台上笨拙地舞蹈着,并自得其乐。
----
Tel : 13655310832
TOP
凳子

回复:[程序思路]DELPHI自动排版程序

建议老兄写与一个贴子,这样容易查阅
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
地板

回复:[程序思路]DELPHI自动排版程序

我只是不知道一个帖子里可以发多少字而已
我们都在人生的舞台上笨拙地舞蹈着,并自得其乐。
----
Tel : 13655310832
TOP
5#

回复:[程序思路]DELPHI自动排版程序

后台设置是10000字节。目前还没有说超过字节不能发贴的,所以我也不确定。
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
发新话题 回复该主题