永发信息网

delphi里 tstringlist分隔符内无值的问题

答案:1  悬赏:20  手机版
解决时间 2021-02-20 14:14
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,并会一直向后合并到有值处,忽略其中的空值,其实这个空值也是作为判断其他的依据,所以我不想忽略

请问有办法判定吗???
最佳答案
呵呵,看着眼熟,这是之前我写给你的代码吧,看这贴没人回答,我就帮人帮到底吧,给你一个切割函数,可以切出空值。
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;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Y035在什么地方啊,我要过去处理事情
xbox onenba 2k17怎么升级
wps文档复制后变成正文文本
怎样快速泡发木耳?
该图是某区域及其水库大坝位置示意图,据图完
华为荣耀7为什么没有华为手机特有的标志
鑫达管道在什么地方啊,我要过去处理事情
从龙泉到天府新区永兴镇蜀一品公交路线
苏州的雅思考点在哪
安居中心小学在什么地方啊,我要过去处理事情
对存在大面积地面荷载的基础,下述说法中()
40吨以上大货车的车厢宽度是多少米?
冰柜里面的水盖是盖上还是
中国人寿保险股份有限公司余杭支公司余杭营业
坦克世界TD文艺倒车可行吗
推荐资讯
多囊卵巢不来月经,应该吃什么药
华师附一分配生和网招生有什么区别
茅箭区十堰意尔康(东山路)地址是什么,有没有
windows10更新系统后,为什么没有无线信号了
变压器有哪些作用
哪一为皇帝开始有年号的?什么年号
小克里琴科的老婆
ThinkpadT430有蓝牙吗?怎么找不到
宁波758路公交从白峰码头站到火车东站全称最
怎么提升手机上网速度
黑龙江大为律师事务所在哪里啊,我有事要去这
amd a6 3670能配r7 240显卡?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?