delphi字符串函数

delphi数据库有两字段第一个字段有3个值分别用逗号分开,第二个字段有1个值,现在要将第一个字段提取一个值来和第二个值一一对应为一个值,有没能写个函数给我typeuse... delphi 数据库有两字段第一个字段有3个值分别用逗号分开,第二个字段有1个值,现在要将第一个字段提取一个值来和第二个值一一对应为一个值,有没能写个函数给我
type userarray=array of string;
function TStringList X(A:string,B:string):userarray
A中有比如有为A1,A2,A3 B中为B1,B2返回为A1,b1, A2,B2 , A3,B2的数组
如果B中只有B1 返回为A1,B1 A2,B1 A3 ,B1
展开
 我来答
wwj_jb224
2009-05-23 · TA获得超过196个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:139万
展开全部
我写成过程形式了 大体就是你的意思,函数自己改下头加个result就行了

userarray: array of string;

procedure TForm1.dostr(a, b: string);
var
i,j:integer;
begin
i:=1;
while pos(',',A)>0 do //把A拆开把没个值按顺序保存进数组
begin
userarray[i]:=copy(A,1,pos(',',A)-1);
A:=copy(A,pos(',',A)+1,length(A));
inc(i);
end;
userarray[i]:=A;//把最后一个逗号后面的内容添加到数组

for j:=1 to i do
begin
if pos(',',B)>0 then
begin
userarray[j]:= userarray[j]+','+copy(B,1,pos(',',B)-1);
B:=copy(B,pos(',',B)+1,length(B));
continue; //如果B就多个元素那么就把第一个元素对应加到A的第一个元素上,同时B保存第一个逗号后面的东西
end;
if pos(',',B)<=0 then //如果B就一个元素,或者截取的就剩一个元素,那么就把这个元素加到A的对应元素或者后面所有元素上
userarray[j]:= userarray[j]+','+B;
end;

end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式