当文件名含有中文时,不能直接用LeftStr(FileName, Length(FileName - 4))或者用Pos来定位"."的位置来获取。因为中文一个字符相当与两个英文字符。这样截取往往还是把整个FileName都截下来了。
应当使用Copy函数,如下:
TmpFileLength := Pos(extFile, FileName); TmpFileName := Copy(FileName, 1, TmpFileLength-1);
FileName为AA.txt之类,如果是包含path,可以先用ExtractFileName截取包含后缀的文件名。
本文介绍了当文件名包含中文时如何正确截取文件名而不包括扩展名的方法。由于中文字符占两个英文字符的位置,直接使用传统方法如LeftStr或Pos会失败。文章提供了一种使用Copy函数的有效解决方案。
1147





