求救!!!!(100分)

  • 主题发起人 主题发起人 xuchuanchao
  • 开始时间 开始时间
X

xuchuanchao

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样一个文本文件:
1~~aaa~~asdfasdf~~sdfasf~~~~asdfasf~~
各部分内容之间用'~~'分隔开,有的之间为空,无内容,我想分析并取出各个部分的内容(含空),请各位高手指教!!!!
 
function DecodeString(var str:string):string;
var
DPos:integer;
begin
DPos:=pos('~',str);
Result:=Copy(str,1,Dpos-1);
str:=Copy(str,DPos+1,Length(str)-Dpos);
end;
按钮写的时候最后判断返回是空
var
s:string;
sub:string;
beign
s:=filename.text;//自己文本文件。
while not Length(s)>0 do
begin
sub:=decodestring(s)

if sub<>'' then
memo11.line.add(sub);
end;
 
如果含空,就把判断去掉
 
type
TResultArray = array of string;

function SplitString(const source, ch: string): TResultArray;
var
temp: string;
i: integer;
begin
temp := source;
i := pos(ch, source);
while i <> 0 do
begin
SetLength(Result, Length(Result) + 1);
Result[Length(Result) - 1] := copy(temp, 0, i - 1);
delete(temp, 1, i);
i := pos(ch, temp);
end;
SetLength(Result, Length(Result) + 1);
Result[Length(Result)-1] := Temp;
end;
**************
function SplitString(const source,ch:string):tstringlist;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;
调用:
s:=splitstring('1~~aaa~~asdfasdf~~sdfasf~~~~asdfasf~~','~~');
for i:=0 to s.Count-1 do
b:=b+s.Strings+#13;
showmessage(b);
s.free;
 
后退
顶部