就像vbscript 里的Split函数一样。
Dim MyString, MyArray, Msg
MyString = "VBScriptXisXfun!"
MyArray = Split(MyString, "x", -1, 1)
' MyArray(0) contains "VBScript".
' MyArray(1) contains "is".
' MyArray(2) contains "fun!".
Msg = MyArray(0) & " " & MyArray(1)
Msg = Msg & " " & MyArray(2)
MsgBox Msg
---------------------
其他的操作方法也行啊
Dim MyString, MyArray, Msg
MyString = "VBScriptXisXfun!"
MyArray = Split(MyString, "x", -1, 1)
' MyArray(0) contains "VBScript".
' MyArray(1) contains "is".
' MyArray(2) contains "fun!".
Msg = MyArray(0) & " " & MyArray(1)
Msg = Msg & " " & MyArray(2)
MsgBox Msg
---------------------
其他的操作方法也行啊
函数功能: 分割函数
入口参数: str --需分割的字符传
ctrl --分割字符
num --数组
出口数据: 分割后为数组需定义num为integer
********************************************}function split(str:string;ctrl:char;var num:integer):strings;
var
i:integer;
begin
num:=0;
setlength(result,255);
i:=pos(ctrl,str);
while(i<>0) do
begin
result[num]:=copy(str,1,i-1);
delete(str,1,i);
inc(num);
i:=pos(ctrl,str);
end;
result[num]:=str;
inc(num);
setlength(result,num);
end;//////例子
type
strings = array of string;var
ss:string;
s:strings;
i,n:integer;
begin
ss:='1;2;3';
s:=split(ss,';',i);for n:=0 to high(s) do
showmessage(s[n]);
end;
//MyString[1] ='V'
//MyString[2] ='B'
//MyString[3] ='S'
//MyString[4] ='c'
//...
设置commad……char:='x',comma开头的就两个,那一个就是设置分割的字符的
然后设置TSTRINs.commatext=MyString
这样,你TStrings里的就是分割后的字串了,还不用数组保存
var
I: Integer;
S: string;
begin
with TStringList.Create do try
Delimiter := 'X';
DelimitedText := 'VBScriptXisXfun!';
S := '';
for I := 0 to Count - 1 do
S := S + ' ' + Strings[I];
finally
Free;
end;
Delete(S, 1, 1);
ShowMessage(S);
end;
2、写个函数,循环判断:DieGhost