可以先把该文件读到一个字符串中,再根据情况判断

解决方案 »

  1.   

    你是什么文件,什么样的字符才算是非法字符?二进制文件什么字符都是合法的。你自己定义的文件,你自己定义的支付是非法的。说的不明不白,如果是文本文件,那么只有可见字符是合法的,控制字符是非法的。
      

  2.   

    是的,文件哪有非法字符?!
      

  3.   

    是说文件名吧??
    var 
    Tou:string;
    begin
    Tou:=memo1.lines.Strings[0];
    if (pos('/',Tou)=0)and(pos('\',Tou)=0)and(pos(':',Tou)=0)
    and(pos('*',Tou)=0)and(pos('?',Tou)=0)and(pos('"',Tou)=0)
    and(pos('<',Tou)=0)and(pos('>',Tou)=0)and(pos('|',Tou)=0)
    then savedialog1.filename:=tou+'.txt'
    else ……………………
    end;