用什么函数或方法可以得到没有扩展名的文件名。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     sName1,sName2,sExt:string;
    begin
     if OpenDialog1.Execute then
     begin
      sName1:=ExtractFileName(OpenDialog1.FileName);
      sExt:=ExtractFileExt(OpenDialog1.FileName);
      sName2:=sName1;
      setLength(sName2,Length(sName1)-Length(sExt));
      Edit1.Text:='文件名为:'+sName1;
      Edit2.Text:='扩展名为:'+sExt;
      Edit3.Text:='无扩展名的文件名为:'+sName2;
     end;
    end;
      

  2.   

    用 ChangeFileExt('FileName','.后缀形式') 最方便或者 :
     
    ---------------------function DelFileExt(FileName : String ): string;
    var
      I,j: Integer;
      s : String ;
      Source : String ;
    begin
      Source := FileName ;
      j := 0 ;
      I := 1 ;
      while I <> 0 do
      begin
        I := Pos('.',FileName) ;
        if I = 0 then
        begin
          I := J ;
          Break ;
        end
        Else
        begin
          S := Copy(FileName,(i+1),(Length(FileName) - I)) ;
          FileName := S ;
          j := I + J  ;
        End;
      end;
      FileName := Source ;
      if I = 0 then Result := FileName
      Else
      Result := Copy(FileName, 1, I - 1);
    end;
    http://expert.csdn.net/Expert/topic/1313/1313791.xml?temp=.25552