有什么函数可以把后缀名去掉呢?望告知道,谢谢!酬谢!

解决方案 »

  1.   

    也就是说,只要得到文件的名字,不要文件的后缀名!比如,abcd.dat只要得到abcd就可以了!
      

  2.   

    ExtractFileName
    ExtractFileExt
    ExtractFilePath配合着用,
    文件名 - 文件扩展名
      

  3.   

    ExtractFileName
    ExtractFileExt
    ExtractFilePath
      

  4.   

    function ExtractFileNameWithoutExt(const FileName: string): string;
    var
      iBegin, iEnd: Integer;
    begin
      iBegin := LastDelimiter(PathDelim + DriveDelim, FileName);
      iEnd   := LastDelimiter('.' + PathDelim + DriveDelim, FileName);
      if (iEnd > 0)and(FileName[iEnd] = '.') then
        Result := Copy(FileName, iBegin+1, iEnd-iBegin-1)
      else
        Result := Copy(FileName, iBegin+1, MaxInt);
    end;
      

  5.   

    ExtractFileName
    ExtractFileExt
    ExtractFilePath好象直接就能用啊
      

  6.   

    NewFileName:=ChangeFileExt('C:\a.txt','')
      

  7.   

    function ChangeFileExt(const FileName, Extension: string): string;
    var
      I: Integer;
    begin
      I := LastDelimiter('.' + PathDelim + DriveDelim,Filename);
      if (I = 0) or (FileName[I] <> '.') then I := MaxInt;
      Result := Copy(FileName, 1, I - 1) + Extension;
    end;SysUtils单元中,改下:function DelFileExt(const FileName): string;
    var
      I: Integer;
    begin
      I := LastDelimiter('.' + PathDelim + DriveDelim,Filename);
      if (I = 0) or (FileName[I] <> '.') then I := MaxInt;
      Result := Copy(FileName, 1, I - 1);
    end;
      

  8.   

    ExtractFileName(ChangeFileExt(FileName));
      

  9.   

    楼上写的东西看起来好麻烦。
    我说点简单的,
    如果你保证后缀是三个字母
    fname:=copy(fname,1,length(fname)-4);
    如果不能保证是三个就用
    for i:=length(fname) downto 1 do
      if fname[i]='.' then 
        begin
          id:=i;
          exit;
        end;
    fname:=copy(fname,1,length(fname)-id);
      

  10.   

    ExtractFileName(ChangeFileExt(FileName,''));
      

  11.   

    copy的方法,
    先ExtractFileName得到name再name:=copy(name,1,length(name)-4);
      

  12.   


    //也去后缀function DelFileExt(const FileName : String ): string;
    var
      I: Integer;
    begin
      i := Pos('.',FileName) ;
      if I = 0 then Result := FileName
      Else 
      Result := Copy(FileName, 1, I - 1);
    end;
      

  13.   

    用 ChangeFileExt('FileName','.后缀形式') 最方便 如ehom(?!) 写的
      

  14.   

    我认为 wjlsmail(计算机质子) 的不错。
      

  15.   

    wjlsmail(计算机质子) (
    你的这个程序没有考虑文件名中有'.'的情况哦?
      

  16.   

    写的繁一点
    ---------------------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;