怎样取值?(20分)

  • 主题发起人 主题发起人 mrdingsheng
  • 开始时间 开始时间
M

mrdingsheng

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有以下格式的字符串:"1","test","1151564976",怎样分别把1,test,1151564976取出来赋给三个变量?最好有源码,谢谢!!!
 
看你要赋给什么类型的变量
1和1151564976可以用strtoint。
 
var
Str: string;
S1,
S2,
S3: string;
begin
Str := '"1","test","1151564976"';
S1 := Copy(Str,2,Pos(',',Str)-3);
Str := Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str));
S2 := Copy(Str,2,Pos(',',Str)-3);
Str := Copy(Str,Pos(',',Str)+1,Length(Str)-Pos(',',Str));
S3 := Copy(Str,2,Length(Str)-2);
end;
 
用这个函数:
根据某个字符分割字符串的函数
procedure SeparateTerms(s : string;Separator : char;Terms : TStringList);
{ This browses a string and divide it into terms whenever the given
separator is found. The separators will be removed }
var
hs : string;
p : integer;

begin
Terms.Clear; // First remove all remaining terms
if Length(s)=0 then // Nothin' to separate
Exit;
p:=Pos(Separator,s);
while P<>0 do
begin
hs:=Copy(s,1,p-1); // Copy term
Terms.Add(hs); // Add to list
Delete(s,1,p); // Remove term and separator
p:=Pos(Separator,s); // Search next separator
end;
if Length(s)>0 then
Terms.Add(s); // Add remaining term
end;
按照','进行分离,然后取出Tstringlist中的值。
 
把字符串"1","test","1151564976", 中的"去掉
得到一个str:string; 此时str:= '1,test,1151564976'
var
rec: Tstringlist ;
begin
rec.CommaText :=str
那么可以通过Tstringlist.count 的到各个对应的值 如下:
rec.strings[0]:='1';
rec.strings[1]:='test';
rec.strings[2]:='1151564976'
 
楼主表达有问题诶
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
873
不得闲
回复
0
查看
999
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部