var TempInt:Integer; Str:='20,21,39,29...'; i:=0; while Pos(',',Str)<>0 do begin try TempInt:=StrToInt(Copy(Str,1,Pos(',',Str)-1)); except Str:=Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str)); exit; end; Result[i]:=StrToInt(Copy(Str,1,Pos(',',Str)-1)); Str:=Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str)); Inc(i); end;
procedure TForm1.Button1Click(Sender: TObject); var s,s1:string; i,j:integer; begin s:='20,30,40,50'; i:=length(s); for j:=0 to i-1 do begin if s[j]=',' then begin s1:=s[j-2]+s[j-1]; showmessage(s1); end; end; if s[i]<>',' then begin s1:=s[i-1]+s[i]; showmessage(s1); end else begin s1:=s[j-2]+s[j-1]; showmessage(s1); end; end;
procedure Splite(s: String; l: TStrings); begin ExtractStrings([','],[#9,' '],PChar(s),l); end;到了TStrings,转到数组,就不用我写了吧!
TempInt:Integer;
Str:='20,21,39,29...';
i:=0;
while Pos(',',Str)<>0 do
begin
try
TempInt:=StrToInt(Copy(Str,1,Pos(',',Str)-1));
except
Str:=Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str));
exit;
end;
Result[i]:=StrToInt(Copy(Str,1,Pos(',',Str)-1));
Str:=Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str));
Inc(i);
end;
var
s,s1:string;
i,j:integer;
begin
s:='20,30,40,50';
i:=length(s);
for j:=0 to i-1 do
begin
if s[j]=',' then
begin
s1:=s[j-2]+s[j-1];
showmessage(s1);
end;
end;
if s[i]<>',' then
begin
s1:=s[i-1]+s[i];
showmessage(s1);
end
else
begin
s1:=s[j-2]+s[j-1];
showmessage(s1);
end;
end;
begin
ExtractStrings([','],[#9,' '],PChar(s),l);
end;到了TStrings,转到数组,就不用我写了吧!