減少文件路徑名的長度
發(fā)表時(shí)間:2023-08-12 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]如果有這樣一個(gè)目錄: c:\windows\media\temp\abc\sound\chime.wav 我希望它能縮短成: c:\windows\..\sound\chime.wa...
如果有這樣一個(gè)目錄:
c:\windows\media\temp\abc\sound\chime.wav
我希望它能縮短成:
c:\windows\..\sound\chime.wav
如何寫程序呢?
function shortenfilename(s : string) : string;
var
drive,curdrive : string[2];
dir,curdir : string[80];
name : string[20];
ext : string[5];
i : byte;
begin
for i:=1 to length(s) do s[i]:=upcase(s[i]);
s:=fexpand(s);
fsplit(s,dir,name,ext);
drive:=copy(dir,1,2);
dir:=copy(dir,4,length(dir)-3);
getdir(0,curdir);
curdrive:=copy(curdir,1,2);
curdir:=copy(curdir,4,length(curdir)-3)+‘\';
if drive=curdrive then begin
if copy(dir,1,length(curdir))=curdir then begin
i:=length(curdir);
if length(dir)<>i then dir:=dir+‘\';
shortenfilename:=copy(dir,i+1,length(dir)-i-1)+name+ext;
end else shortenfilename:=copy(s,3,length(s)-2);
end else shortenfilename:=s;
end;