我用listbox获得本地某个文件夹下的文件,但在显示的时候连同后缀名都显示出来了,现在我想只显示文件名,去掉后缀名,怎么实现,恳请达人相助。
PS:其实我已经实现了,不过是用ListBox1.Items.Add(Copy(SR.Name,1,Length(SR.Name)-4))实现的,这样不灵活了,碰到后缀名不是3位的就完了,大家教我个更灵活使用的办法,要源码。

解决方案 »

  1.   

    SysUtils.ChangeFileExt('c:\temp.txt', ''); //c:\temp
      

  2.   

       ShowMessage(StringReplace(ExtractFileName(Urfilepath),ExtractFileExt(Urfilepath),'',[rfReplaceAll,rfIgnoreCase]));
      

  3.   

    to 2楼,测试如下情况
    Urfilepath := 'c:\temp.txt123\temp.txt123.txt';
      

  4.   

    procedure CutFileExt;
    var
      i, j: integer;
    begin
      for i := 0 to listbox.Count - 1 do
      begin
        j := Pos('.',listbox.Item[i].Text);
        listbox.Item[i].Text := Copy(listbox.Item[i].Text,1,j - 1);
      end;
    end;
    //没有实践,临时写的,思路是对的