delphi中string[]是什么数据类型?
在 delphi 中,string[] 这种定义,被称为 Short String 数据类型。
Short String 数据类型具有以下特点:1、最多只能容纳 255 个字节的字符。
当声明一个 ShortString 类型的变量时,Delphi 会自动申请 256 个字节的内存空间给该变量,其中第一个字节用来存放字符串的长度,后面的 255 个字节用来存放字符串内容,如果字符串的长度不够 255 个字节,则有多少字符就用多少内存,后面未用到的内存清。
2、用 Ord(S[0]) 和 Length(S) 所取得效果是一样的,都可以获取字符的长度;而赋值给 s[0] 其效果与 SetLength 效果类似。
3、ShortString 类型通常是为了保持兼容性而保留的。
var tmp:string[5]; //定义 包含最多5个字符 的变量
delphi 字符串中是否包括子字符串 函数
有一个非常有用的函数:bytetype,可以判断一个字符中,某个char是单个字母,还是双字节的前一位或后一位。
比如:bytetype('w我',1)=mbsinglebytebytetype('w我',2)=mbleadbytebytetype('w我',3)=mbTrailbyte剩下的你自己琢磨吧,我想你应该会了。
delphi 字符串splite到数组
一般来说GB2312的汉字由两个字节组成,第一个为十六进制0x81-0xFE,第二个为十六进制0x41-0xFE,所以只能从一个字符串的开始地方进行判断。
我曾经做过这方面的一些东东,下面给你一个函数,大概是这么写,不能保证没有语法错误。
:)function TGtEditor.JudgeALineCol(const AString: string): boolean;var //判断当前显示列是否会切断一个汉字,返回True表示一个汉字结束 tmpPointer : PTextRec; i : integer; buff : char;begin Result true; for i1 to Astring.Length do begin buff Astring ; if not (Ord(buff) in ) then Result true else if Ord(buff) in then Result true else Result not Result; end;end; 查看更多答案>>
delphi 取出一段字符串的整数
解决这个问题有两种办法:1、用正则表达式,标记出所有数字,然后取出。
//正则对象varuChecker: TRegExpr;//创建正则,并装载匹配规则。
uChecker:= TRegExpr.Create;uChecker.Expression:= '\d[\.\d]*';if uChecker.Exec(r_Name) thensStr:= uChecker.MatchPos[1]; //匹配结果2、用字符串替换函数将所有字母替换procedure TForm1.Button1Click(Sender: TObject);constc_Str = 'abc423sdfbc'; //这常量是你要处理的字符串,可以自行修改vari: Integer;sStr: string;begin//将所有字母替换为空for i := ord('A') to ord('Z') dosStr:= StringReplace(c_Str, Char(i), '', [rfReplaceAll]);for i := ord('a') to ord('z') dosStr:= StringReplace(sStr, Char(i), '', [rfReplaceAll]);ShowMessage(Format('字符串%s处理后为:%s', [c_Str, sStr]));end;自己选择吧。
PS:下面这个帖子的分你还没给呢。
http://zhidao.baidu.com/question/210624767.html
delphi给字符串的ascii码加或减
function encode(S: string,N:integer): string;//N表示加多少,假定ASCII码128个vari,j:integer;beginfor i:=1 to length(S) dobeginResult:=Result+chr(((ord(S[i-1])+N)mod 128));end;end;
Delphi的分割字符串或提取字符串问题
varStrList : TstringList;i : integer;beginStrList := TStringList.Create;StrList.DelimitedText := '123,456,789';StrList.Delimiter := ',';for i := 0 to StrList.Count -1 dobeginshowmessage(StrList[i]);end;
delphi 把stringlist转化为string
程序代码:{$apptype console} //设置程序为非图形界面,TURBO PASCAL等无需这一行varn,a,b,c,d:integer;s:string;begins:='01234';n:=length(s);for a:=1 to n-3 dofor b:=a+1 to n dofor c:=b+1 to n dofor d:=c+1 to n dowriteln(s[a],s[b],s[c],s[d]);end.运行过程:
转载请注明出处51数据库 » delphi string to wor
思玥宝宝