expandfilename(filename)
用这个函数便可

解决方案 »

  1.   

    可以这样做:  
    var temp : string;   temp := ExtractFileName(FileName);
       result := Copy(temp,0,LastDelimiter('.',temp) - 1);
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    s:string;
    t:string;
    begin
     s:='abc.dbf';
     t:=copy(s,1,pos('.',s)-1);
     showmessage(t);
    end;
      

  3.   

    var
    test:string;
    test1:integer;
    begin
    if opendialog1.Execute then
    edit1.Text := ExtractFileName(opendialog1.FileName);
    test := copy(edit1.Text,1,pos( '.',edit1.Text) - 1);
    edit2.Text :=test;
    end;现在,edit1.text是文件名,edit2.text就是你想要的。
      

  4.   

    哈哈
      要是我这个变态取个什么t.t.t.jpeg的文件,岂不是不行了?
      

  5.   

    思路是在文件名字符串中查找分隔符“.”
    为了避免楼上的情况('t.t.t.jpg')就将从字符串的最后开始查找如下
    Function SepreateStr(filename:string):string;
     var
       strTmp:sstring;
       i:integer;
     begin
       for i:=length(filename)-1 downto 0 do
           strTmp:=copy(filename,i,i+1);
           if strTmp='.' then
             begin
               result:=copy(filename,0,i-1);
               break;
             end;
     end; 
      

  6.   

    所以我说用LastDelimiter('.',temp)嘛!
      

  7.   

    哎呀,各位!这个问题最简单了:ChangeFileExt(FileName,'');就可以了!
      

  8.   

    错了,是ChangeFileNameExe(FileName,'');