L
liuyang
Unregistered / Unconfirmed
GUEST, unregistred user!
这个函数的作用是把制定的分割符号的东西分割出来<br>比如导入一个文本文件test.txt 里面的内容是0001~11111111111111111111~206~412~50~WH7~7<br><br><br>function TForm1.qsdt(dtfh:Char ;str:String; var Strs:TStrings; Allow:boolean):boolean;<br>var<br> i:Integer;<br> Temp:String;<br>begin<br> Result := false;<br> Temp := '';<br> if ((dtfh = '') or (str='')) then exit;<br> Strs.Clear;<br> for i:=1 to Length(str) do<br> if Str<>dtfh then Temp := Temp+Str<br> else<br> begin<br> if I<>1 then<br> begin<br> if Temp<>'' then Strs.Add(Temp)<br> else<br> if Allow then Strs.Add( dtfh );<br> Temp := '';<br> end;<br> end;<br> if Temp<>'' then Strs.Add(Temp);<br> Result:= True;<br>end;<br><br>拿这个测试<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> jilu:TStringList;<br> str:TStrings;<br> i:integer;<br>begin<br> jilu := TStringList.Create;<br> str := TStringList.Create;<br> jilu.LoadFromFile('i:/test.txt');<br> showmessage(inttostr(jilu.Count));<br><br> for i:=0 to jilu.Count-1 do<br> begin<br> qsdt('~',jilu,str,true);<br> <br> showmessage(str[3]);<br> end;<br> end;<br><br>这个时候显示的应该是412<br><br>但要是分割符号为两个的时候就不好处理了。比如符号换成$$<br>(字段有空的情况则$$$$),<br>请问怎么改上面的函数?