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 展开
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 展开
展开全部
我写成过程形式了 大体就是你的意思,函数自己改下头加个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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询