如何得到一个stream中的某一特定字符串的位置?
如aaa := 'qajsfeoasdjf;alskjdfoialejf;kasljfedal;sf';
bb := 'dj';
我要得到bb在aa中的位置以便截取bb后的串。
问题点数:20、回复次数:9Top
1 楼Grace_ghb(。。。)回复于 2002-04-10 13:10:30 得分 0
i know ,用pos?Top
2 楼Borlandor(五角大民)回复于 2002-04-10 13:14:32 得分 5
AfterBBStr := Copy(aaa,pos(bb,aaa)+length(bb),length(aaa));Top
3 楼liuhelin(鹤林)回复于 2002-04-10 13:22:39 得分 5
function Pos(Substr: string; S: string): Integer;Top
4 楼Grace_ghb(。。。)回复于 2002-04-10 14:04:13 得分 0
假如我要读文件从而得到S,该怎么操作?Top
5 楼Grace_ghb(。。。)回复于 2002-04-10 14:05:18 得分 0
我的意思是对Tstream好像没有pos函数Top
6 楼Borlandor(五角大民)回复于 2002-04-10 14:24:13 得分 5
使用TStringStream.DataString.Top
7 楼Grace_ghb(。。。)回复于 2002-04-10 14:28:50 得分 0
borlandor(大民) :
能详细一点吗,谢了。Top
8 楼Grace_ghb(。。。)回复于 2002-04-10 14:30:28 得分 0
包括TStringstream的create.....Top
9 楼Borlandor(五角大民)回复于 2002-04-10 15:14:38 得分 5
function LoadFromFile(FileName:String): Integer;
var FileStream: TFileStream;
Reader: TReader;
S,AfterBBStr: String;
begin
try
FileStream := TFileStream.Create(FileName, fmOpenRead);
Reader := TReader.Create(FileStream, 4096);
try
Result := FileStream.Size;
SetLength(S,Result);
Reader.Read(Pointer(S)^,Result);
AfterBBStr := Copy(S,pos(bb,S)+length(bb),length(S));
finally
Reader.Free;
end;
finally
FileStream.Free;
end;
end;
Top




