一一对应的问题,在线等大虾

ou630j 2008-12-02 11:17:57
比我我有两个字符串
STR1:=ADF,SDF,SRR,TTT,FFF.....
STR2:=11,SD,222,RR3,34R....
都是用道号隔开,字符最后面没有道号,然后我想循环取出
ADF:=11
SDF:=SD
SRR:=222
TTT:=RR3
FFF:=34R
.......
请教这个怎么做
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yct0605 2008-12-02
  • 打赏
  • 举报
回复

//按顺序将两个字符串放到数组里面
var
i:word;
str1:array of string;
str2:array of string;
begin
for i:=0 to N do str1[i]:=str2[i];//N为字符串数组的长度,自己定义好了
end;
sanguomi 2008-12-02
  • 打赏
  • 举报
回复

var
Str1, Str2: string;
Temp1, Temp2: string;
I, J: Integer;
Str: TStrings;
begin
STR1 := 'ADF,SDF,SRR,TTT,FFF';
Str2 := '11,SD,222,RR3,34R';

Str := TStringList.Create;

I := Pos(',', Str1);
J := Pos(',', Str2);

Str.Add(Copy(Str1, 1, I - 1) + '=' + Copy(Str2, 1, J - 1) );
Temp1 := Copy(Str1, I + 1, Length(Str1));
Temp2 := Copy(Str2, J + 1, Length(Str2));

while (I > 0) and (J > 0) do
begin
I := Pos(',', Temp1);
Temp1 := Copy(Temp1, I + 1, Length(Temp1));

J := Pos(',', Temp2);
Temp2 := Copy(Temp2, J + 1, Length(Temp2));

if (I > 0) and (J > 0)then
Str.Add(Copy(Temp1, 1, I - 1) + '=' + Copy(Temp2, 1, J - 1) );
end;

for I := 0 to Str.Count - 1 do
Memo1.Lines.Add(Str.Strings[i]);
end;
dyonggan 2008-12-02
  • 打赏
  • 举报
回复
把你的技术背景给大家说说,为什么要这样做,上面两个字符串是从哪里来的?最后说的详细一些,这样别人才可以给你建议呀
dyonggan 2008-12-02
  • 打赏
  • 举报
回复
对应应该好对,按逗号为标志用copy函数来取,只是怎么可以用字符给字符赋值呢,应该用字符给变量赋值才对呀
ou630j 2008-12-02
  • 打赏
  • 举报
回复
谢谢了,虽然不是用你们的方法,但解决了,谢谢各位
结帖
dyzhong 2008-12-02
  • 打赏
  • 举报
回复

var vList1,List2:TStringList;
begin
……
vList1.Delimiter:=',';
vList1.DelimiterText:=STR1;
vList2.Delimiter:=',';
vList2.DelimiterText:=STR1;

for i:=0 to vList1.Oount-1 do
ShowMessage(vList1.String[i]+':='+vList2.String[i])

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧