S
SuperJS
Unregistered / Unconfirmed
GUEST, unregistred user!
先请看代码:
FileNum:='000';//string类型
procedure TfrmConfig.AnalyzeLog;
var
mFileName:string;
begin
mFileName:=FilePath+ FileNum +'.log';
self.Loader(mFileName);
end;
procedure TfrmConfig.Loader(mFn: string);
var
F:TextFile;
S:string;
begin
if not FileExists(mFn) then exit;
AssignFile(F,mFn);
Reset(F);//出错处
try
while not eof(F) do
begin
Readln(F, S);
if leftstr(S,1)<>'#' then showmessage(S);
end;
finally
CloseFile(F);
AddFl();
end;
end;
procedure TfrmConfig.AddFl;
var
iTemp:integer;
sTemp:string;
i:integer;
begin
iTemp:= StrToInt(FileNum) + 1;
For i:= 1 To 3-Length(IntToStr(iTemp)) do
begin
sTemp := '0'+sTemp
end;
FileNum := sTemp+IntToStr(iTemp);
Loader(FilePath + FileNum + '.log');
end;
我是从一批有特征的日志文件中提取不以‘#’开头的行然后加以处理,我发现,如果在没有不以‘#’开头的文件中,下次递归调用即AddFl后,到出错处一切正常,但是如果在有不以‘#’开头的文件中,下次递归调用即AddFl后就一定会报EInOutError错误,到底是为什么?是不是我有什么东西没有释放呢?
小弟初学Delphi请多指教!!!
那些文件如:
000.log
001.log
002.log
等!
FileNum:='000';//string类型
procedure TfrmConfig.AnalyzeLog;
var
mFileName:string;
begin
mFileName:=FilePath+ FileNum +'.log';
self.Loader(mFileName);
end;
procedure TfrmConfig.Loader(mFn: string);
var
F:TextFile;
S:string;
begin
if not FileExists(mFn) then exit;
AssignFile(F,mFn);
Reset(F);//出错处
try
while not eof(F) do
begin
Readln(F, S);
if leftstr(S,1)<>'#' then showmessage(S);
end;
finally
CloseFile(F);
AddFl();
end;
end;
procedure TfrmConfig.AddFl;
var
iTemp:integer;
sTemp:string;
i:integer;
begin
iTemp:= StrToInt(FileNum) + 1;
For i:= 1 To 3-Length(IntToStr(iTemp)) do
begin
sTemp := '0'+sTemp
end;
FileNum := sTemp+IntToStr(iTemp);
Loader(FilePath + FileNum + '.log');
end;
我是从一批有特征的日志文件中提取不以‘#’开头的行然后加以处理,我发现,如果在没有不以‘#’开头的文件中,下次递归调用即AddFl后,到出错处一切正常,但是如果在有不以‘#’开头的文件中,下次递归调用即AddFl后就一定会报EInOutError错误,到底是为什么?是不是我有什么东西没有释放呢?
小弟初学Delphi请多指教!!!
那些文件如:
000.log
001.log
002.log
等!