在memo控件中,里面有一行长串字符串,格式如下:
1.顾杰 mick/roop 张三 李四 RXYBY
怎么从这些字符串中把这些名字赋值给一个数组?
注:1。名字个数不定,有可能超过100个
2。每个名字后面都至少一个空格
3。最后面那个字符串(RXYBY)不赋值给数组
1.顾杰 mick/roop 张三 李四 RXYBY
怎么从这些字符串中把这些名字赋值给一个数组?
注:1。名字个数不定,有可能超过100个
2。每个名字后面都至少一个空格
3。最后面那个字符串(RXYBY)不赋值给数组
解决方案 »
- dspack如何实现 WMV视频 播放从时间点m到时间点n的视频呢
- 很难的fastreport问题~
- air 版主在吗?能不能解释一下FAQ怎么玩,我提交了一个怎么一直没有被审核呢?
- 不会用TreeView!!!!
- [求助]如何用 SendMessage函数 向Tmemo 组件发送 Lines.Add 消息,
- 马上回答,马上给分
- 如何让XMLDocument生成这样的XML文件啊!急!急!急!
- 运行程序出现内存报错的问题!!!求救!!
- 用query添加记录时,系统怎样能够自动为我在数据库中的ID字段赋值?
- 纯Pascal实现的isapi文件上传程序,欢迎指教.
- 如何编程实现u盘等可移动磁盘的自动弹出(卸下)??
- DBComboBox 为什么只显示第一条记录?
var
List: TStrings;
i: Integer;
str: String;
begin
List := TStringList.Create;
List.Delimiter := ' ';
List.DelimitedText := Memo1.Text;
List.Delete(List.Count -1);
var i,l,n:integer;
Arr:tarr1000;
v,t:string;
begin
t:=trim(s);
v:='';
n:=0;
while t<>'' do
begin //找出字符中的第N个词,以空格为区分
for i:=1 to length(t) do
if t[i]<>' ' then v:=v+t[i]
else
begin
n:=n+1;
Arr[n]:=v;
showmessage(v);
v:='';
t:=trim(copy(t,pos(' ',t),1000000));
break;
end
end;
end;
再找个按钮运行FindNthWord('顾杰 mick/roop 张三 李四 RXYBY');看看效果吧
我还发现,这段程序连终止字符串都不用去判断,用什么非空字符表示结束都行.
你实际用别的东西来存也可以
type TArr1000=array[1..1000] of string;