手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

CodeColor相关(二) 基类TCodeColor

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

第二部分:基类 TCodeColor

一、本章说明
暂时先公开基类代码,和子类的部分代码,子类中字符分析函数 Analyzer 的实现暂时不公开,主要出于这样的考虑:
1、基类已实现大部分共用功能,但是还不完善,代码也不规范。特别是各个版本的 Analyzer 中都会用到这些功能,所以待听取路高手的意见,将基类改进完善后,将重写 Analyzer 并在第三部分中公开;
2、如果您急于使用本程序,有两种方法:一是您可以留下邮箱地址,我会寄给您一份程序;二是利用并不完善基类 TCodeColor 继承出一个子类,自己实现 Analyzer ,字符分析的方法可以参考 李马行云流水网站 提供的 C 语言版 《Pascal 词法分析器》源代码;
3、欢迎大家提出宝贵意见、想法,同时尽可能的留下相应的解决方案。

二、用户端
很简单,不做过多说明:

//┏━━━━━━━━━━━━━━┓
//┃代码着色:CodeColor v1.0
//┃来自:悄然无声的 Blog
//┗━━━━━━━━━━━━━━┛


procedure TfrmMain.Button1Click(Sender: TObject);
var
cc:TCodeColor;
begin
cc:=TCC_Delphi.Create(''''gainsboro'''',720);
cc.Source:=Memo1.Text;
cc.Processor;
Memo1.Text:=cc.OutPut;
Memo1.Lines.SaveToFile(''''result.htm'''');
end;


二、基类 TCodeColor
也很简单,在注释中已有详细说明。IsAlphaIsNumberic 都用的土方法,或许还有更好的实现方法。IsMBCSChar 是经过滚龙的三次指点才变成现在这个样子的,原先叫 IsHZ ,所以欢迎大家指点一二。

//┏━━━━━━━━━━━━━━┓
//┃代码着色:CodeColor v1.0
//┃来自:悄然无声的 Blog
//┗━━━━━━━━━━━━━━┛


unit CodeColor;

interface

uses
Classes,SysUtils;

type
TCodeColor = class(TObject)
protected
FOutPut: string; //处理后的 Html 文本
FSource: string; //处理前的源文本
FPosition: Integer; //当前被处理字符的位置
FBGColor:string; //Html 中表格的背景颜色
FWidth:string;//Html 中表格的宽度
ReserveWords: TStrings;//关键字

//抽象的字符分析函数,便于在子类中有不同的实现
procedure Analyzer; virtual; abstract;

//下面四个函数在子类中的 Analyzer 中使用
function

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!