//用惯java或c#的人可能对delphi非常生气,连基本的类型都没有,我平时工作中,经常会曾试着把一些函数集合在一起,也经常做一些属于自己的基础类型的函数,此处把它们弄出来,有不当之处,请大家点评.
unit baseclass;
interface
uses
sysutils, classes, strutils, idglobal, math;
type
tcharset = set of char;
var
tnormalcharset: tcharset = [#13, #10, #32, '.', ',', ';'];
type
tstring = class
private
ftext: string;
public
function charat(aposition: integer): char;
//指定位置的字母
function tolowercase: string; overload;
class function tolowercase(astring: string): string; overload;
//小写
function touppercase: string; overload;
class function touppercase(astring: string): string; overload;
//大写
class function valueof(avalue: string): boolean; overload;
class function valueof(avalue: boolean): string; overload;
class function stringin(avalue: string; avalues: array of string): boolean;
class function left(avalue: string; alength: integer): string;
class function right(avalue: string; alength: integer): string;
class function deleteprefix(avalue: string; fixedstring: tcharset = [#32]): string; //删除前缀
class function deletesuffix(avalue: string; fixedstring: tcharset = [#32]): string; //删除后缀
//
class function comparestring(avalue1: string; avalue2: string): boolean;
class function hashcode(avalue: string): integer;
class function lastchar(avalue: string): char;
class function stringreplace(const s, oldpattern, newpattern: string;
flags: treplaceflags): string;
class function stringofchar(ch: char; count: integer): string;
class function setstring(var s: string; buffer: pchar; len: integer): string;
class function getpy(astr: string): string;
//得到对应的拼音.
class function isallchinese(astr: string): boolean;
class function isallenglish(astr: string): boolean;
class function getfirstword(avalue: string; var aword: string; aseparator: tcharset): integer; overload;
class function getfirstword(avalue: string; var aword: string; aseparator: string): integer; overload;
//返回值为从开始到该单据的长度。
class function getallword(avalue: string; aseparator: string): tstringlist; overload;
//返回所有的关键字。使用完后,请将结果集free;
//注:在以后的使用中,请不要使用该函数。请使用它的重载版
//getallword(avalue: string; aseparator: string; astringlist: tstringlist);
class procedure getallword(avalue: string; aseparator: string; astringlist: tstrings); overload;
//把所有的结果集装入astringlist;
class procedure getallwordwithall(avalue: string; aseparator: string; astringlist: tstrings);
class function stringtocharset(avalue: string): tcharset;
class function charsettostring(avalue: tcharset): string;
class function updatesentence(aoldstring: string; //被操作字符串
aupdatesource: string; //查找的单词。
aupdatestring: string; //替换的单据。
asentenceseparator: string; //句子分隔符。