用户以下代码搜索文件时,提示“Illegal character in input file: '&' ($26)”,是什么原因?
procedure TSearchFileThread.SearchFile(DirName: String);
Var
Found: integer;
SearchRec: TSearchRec;
begin
Found := FindFirst(DirName + '*.*',faAnyFile,searchrec);
while Found = 0 do
begin
if ((SearchRec.Attr and faDirectory)<>0) then //directory
begin
if(SearchRec.Name <> '.')and(SearchRec.Name <> '..') then
SearchFile(DirName + SearchRec.Name + '\')
end
else //file
begin
MyFileName := DirName + SearchRec.Name;
Synchronize(DeelWithFile);
end;
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;

解决方案 »

  1.   

    没仔细看代码吧?出现“<>”这些不合法的内容,改成:procedure TSearchFileThread.SearchFile(DirName: String);
    Var
    Found: integer;
    SearchRec: TSearchRec;
    begin
    Found := FindFirst(DirName + '*.*',faAnyFile,searchrec);
    while Found = 0 do
    begin
    if ((SearchRec.Attr and faDirectory) = faDirectory) then //directory
    begin
    if(SearchRec.Name <> '.')and(SearchRec.Name <> '..') then
    SearchFile(DirName + SearchRec.Name + '\')
    end
    else //file
    begin
    MyFileName := DirName + SearchRec.Name;
    Synchronize(DeelWithFile);
    end;
    Found := FindNext(SearchRec);
    end;
    FindClose(SearchRec);
    end;