假如我想获取 d:\bb.exe 的文件名显示在caption
var
t1:string;
begin
t1:=ExtractFileName(d:\bb.exe);
Caption := t1;

以上是获取了,但是bb的 .exe也有 怎么去掉 .exe 而显示bb 不管是什么扩展名只显示前部分 扩展名不显示。。

解决方案 »

  1.   

    使用copy,先找到'.'的位置,然后从第一个字copy,知道'.'的位置
      

  2.   

    var
      s:string;
      i:Integer;
    begin
      s := 'aaa.exe';
      i := Pos('.',s);
      s := Copy(s,1,i-1);
      ShowMessage(s);
    end;
      

  3.   

    用函数ChangeFileExt()取得应用程序名并去掉扩展名ChangeFileExt(ExtractFileName(Application.ExeName),'');
      

  4.   

    应该找最后一个点的位置.比如 Borland.Data.Explorer.Common.dll
      

  5.   

    bdmh的方法是不严密的,就算截也应该从字符串最后开始截,因为遇到文件名是“aaa.ini.bak”这种形式就就错了。