文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院程序开发Delphi在Delphi中实现StringTokenizer功能模块
精品广告
推荐TOP10
·利用Delphi编写Socket通信程序
·拦截其它程序的网络数据封包
·Delphi编程根据IP地址得到主机名
·Delphi 程序员代码编写标准指南
·用DELPHI开发自动化服务器
·将日期转化为汉语的形式
·加密ACCESS数据库增加安全性
·使用TCP/IP协议实现聊天程序
·在Delphi中控制扫描仪
阅读TOP10
·利用Delphi编写Socket通信程序
·Delphi基础开发技巧(1)
·拦截其它程序的网络数据封包
·先人的DELPHI基础开发技巧
·Delphi编程根据IP地址得到主机名
·利用Delphi 5.0开发OLE自动化控制器操纵Excel
·用DELPHI开发自动化服务器
·Delphi 程序员代码编写标准指南
·小技巧:如何用Delphi创建快捷方式
·Delphi版模仿熊猫烧香病毒核心源码

在Delphi中实现StringTokenizer功能模块

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]


unit SkyStringTokenizer;

{字符串分析处理类

}

interface

uses

SysUtils, Classes;

type

IIterator = interface

function hasNext(): boolean;

function next(): string;

end;

type

TSkyStringTokenizer = class(TComponent, IIterator)

private

tokens: TStringList;

index: integer;

data: string;

delimiter: string;

procedure init(dataLine: string; delim: string);

function CharacterInTokens(ch: string; const sl: TStringList): boolean;

function StringToCharArray(delim: string): TStringList;

function SplitString(source, ch: string): Tstringlist;

protected

{ Protected declarations }

public

{ Public declarations }

constructor create(dataLine: string); overload;

constructor Create(dataLine: string; delim: string); overload;

destructor destroy();override;

function hasNext(): boolean;

function next(): string;

published

{ Published declarations }

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('SkyDevKit', [TSkyStringTokenizer]);

end;

{ TStringTokenizer }

function TSkyStringTokenizer.hasNext: boolean;

begin

result := (index < tokens.Count - 1);

end;

procedure TSkyStringTokenizer.init(dataLine, delim: string);

begin

tokens := TStringList.Create();

delimiter := delim;

data := dataLine;

tokens := SplitString(data, delimiter);

//tokens := data.Split(delimiter.ToCharArray());

index := -1;

end;

function TSkyStringTokenizer.next: string;

var

s: string;

begin

inc(index);

s := tokens[index];

while ((length(s) <= 0) and (index < tokens.Count)) do

begin

inc(index);

s := tokens[index];

end;

result := s;


[1] [2] [3] 下一页 

上一篇:编辑框和位图按钮的特殊结合

下一篇:程序中调用控制面板设置功能


相关软件: 相关文章:
·在Delphi中实现StringTokenizer功能模块

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号