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,并会一直向后合并到有值处,忽略其中的空值,其实这个空值也是作为判断其他的依据,所以我不想忽略

请问有办法判定吗???
展开
 我来答
遒劲且威武的小白桦s
2011-12-19 · TA获得超过115个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:190万
展开全部
呵呵,看着眼熟,这是之前我写给你的代码吧,看这贴没人回答,我就帮人帮到底吧,给你一个切割函数,可以切出空值。
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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式