str := '商品编码?UserCode?S';
我想把他存到一个数组里 分别如下
s[0] 所存的字符是 '商品编码'
s[1] 所存的字符是 'UserCode'
s[2] 所存的字符是 'S'如何实现 呢? 其中 以?为分割符请高手指点 谢谢 !
我想把他存到一个数组里 分别如下
s[0] 所存的字符是 '商品编码'
s[1] 所存的字符是 'UserCode'
s[2] 所存的字符是 'S'如何实现 呢? 其中 以?为分割符请高手指点 谢谢 !
begin
ExtractStrings(['?'],[],pchar(str),Tstrs);
end;//Tstrs可以用memo.lines来替代,这样你就可以清楚地看到这个函数运行后地结果了
str: String;
s: array[0..2] of String;
i: Integer;
begin
str := '商品编码'?UserCode?S';
i := 0;
while (pos('?', str) > 0) do
begin
s[i] := Copy(str, 1, pos('?', str) -1);
str := Copy(str, pos('?', str) + 1, Length(str) - pos('?', str));
i := i + 1;
end;
s[i] := str;
end;
begin
str:= '商品编码?UserCode?S';
n:=0;
k:=1;
j:=length(str);
for i:=1 to j do
begin
if (copy(str,i,1)='?') then
begin
s[n]:=copy(str,k,i-k);
k:=i+1;
n:=n+1;
end;
if i=j then
s[n]:=copy(str,k,i-k+1);
end;
end;
sl:tStrings;
i:integer;
begin
sl:=TStringList.Create;
sl.Delimiter:='?';
sl.DelimitedText:='商品编码?UserCode?S';
sl.strings[0]:=
sl.strings[1]:=
sl.strings[2]:=
分别为你的要东西!
str: String;
s: array[0..2] of String;
i: Integer;
begin
str := '商品编码'?UserCode?S';
i := 0;
while (pos('?', str) > 0) do
begin
s[i] := Copy(str, 1, pos('?', str) -1);
str := Copy(str, pos('?', str) + 1, Length(str) - pos('?', str));
i := i + 1;
end;
s[i] := str;
end;