delphi里 tstringlist分隔符内无值的问题
begin//ifRzPageControl1.Pages:=1then//beginlst:=TStringlist.Create;tlst:=TStringlist....
begin
//if RzPageControl1.Pages := 1 then
//begin
lst:=TStringlist.Create;
tlst:=TStringlist.Create;
lst.LoadFromFile('itemset.txt');
tlst.Delimiter := #9;
tlst.DelimitedText := lst.Strings[0];
for i:= 0 to tlst.Count - 1 do
begin
tmpComponent := findComponent('advedit' + inttostr(i+1)); //根据名称查找对应的edit控件
(tmpComponent as TadvEdit).text := tlst.Strings[i]; //进行赋值
//end;
end;
这是我写的部分代码,这些代码的意思是,lst是一个多行字符串
然后tlst以tab为分隔符,分割了lst的第一行,并输出到对应的edit内
但现在有个问题就是,假如有个tab内没有数据,也就是空值,那么输出的时候,会自动忽略这个tab,并会一直向后合并到有值处,忽略其中的空值,其实这个空值也是作为判断其他的依据,所以我不想忽略
请问有办法判定吗??? 展开
//if RzPageControl1.Pages := 1 then
//begin
lst:=TStringlist.Create;
tlst:=TStringlist.Create;
lst.LoadFromFile('itemset.txt');
tlst.Delimiter := #9;
tlst.DelimitedText := lst.Strings[0];
for i:= 0 to tlst.Count - 1 do
begin
tmpComponent := findComponent('advedit' + inttostr(i+1)); //根据名称查找对应的edit控件
(tmpComponent as TadvEdit).text := tlst.Strings[i]; //进行赋值
//end;
end;
这是我写的部分代码,这些代码的意思是,lst是一个多行字符串
然后tlst以tab为分隔符,分割了lst的第一行,并输出到对应的edit内
但现在有个问题就是,假如有个tab内没有数据,也就是空值,那么输出的时候,会自动忽略这个tab,并会一直向后合并到有值处,忽略其中的空值,其实这个空值也是作为判断其他的依据,所以我不想忽略
请问有办法判定吗??? 展开
1个回答
展开全部
呵呵,看着眼熟,这是之前我写给你的代码吧,看这贴没人回答,我就帮人帮到底吧,给你一个切割函数,可以切出空值。
procedure SplitString(Source,Deli:string; var StringList :TStringList);
var
EndOfCurrentString: Integer;
begin
if StringList = nil then exit;
StringList.Clear;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
StringList.Add(source);
end;
procedure SplitString(Source,Deli:string; var StringList :TStringList);
var
EndOfCurrentString: Integer;
begin
if StringList = nil then exit;
StringList.Clear;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
StringList.Add(source);
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询