uses HTTPApp, Masks; procedure TForm1.Button1Click(Sender: TObject); var ss,s: string; begin //先提取一个文件名的字符串 ss := Application.ExeName; ShowMessage(ss); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects\Project1.exe //路径 s := ExtractFilePath(ss); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects\ //所在文件夹 s := ExtractFileDir(ss); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects //所在逻辑盘 s := ExtractFileDrive(ss); ShowMessage(s); //C: //文件名 s := ExtractFileName(ss); ShowMessage(s); //Project1.exe //文件扩展名 s := ExtractFileExt(ss); ShowMessage(s); //.exe //相对路径 s := ExtractRelativePath('C:\Documents and Settings\wy\My Documents\',ss); ShowMessage(s); //RAD Studio\Projects\Project1.exe //dos下的短文件名 s := ExtractShortPathName(ss); ShowMessage(s); //C:\DOCUME~1\wy\MYDOCU~1\RADSTU~1\Projects\Project1.exe //转换到Unix路径格式, 需要 uses HTTPApp s := DosPathToUnixPath(ss); ShowMessage(s); //C:/Documents and Settings/wy/My Documents/RAD Studio/Projects/Project1.exe //转Unix路径格式为Window格式, 是 DosPathToUnixPath 的逆操作 s := ExpandUNCFileName(DosPathToUnixPath(ss)); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects\Project1.exe //去掉结尾的路径分隔符 s := ExcludeTrailingPathDelimiter(ExtractFilePath(ss)); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects //去掉结尾的路径分隔符, 只是调用:ExcludeTrailingPathDelimiter s := ExcludeTrailingBackslash(ExtractFilePath(ss)); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects //更换扩展名, 并不修改文件, 只是替换字符串: s := ChangeFileExt(ss,'.bak'); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects\Project1.bak //更换文件路径: s := ChangeFilePath(ss,'c:\temp'); ShowMessage(s); //c:\temp\Project1.exe //判断第几个字符是否是路径分隔符: IsPathDelimiter(ss,3); //返回 True //判断后缀名是不是 exe; 需要 uses Masks MatchesMask(ss,'*.exe'); //返回 True end;
//分解 ProcessPath (需要 uses FileCtrl) var s,p,f: string; d: Char; begin s := ParamStr(0); ShowMessage(s); //C:\Documents and Settings\wy\My Documents\RAD Studio\Projects\Project1.exe ProcessPath(s,d,p,f); ShowMessage(d); //C ShowMessage(p); //\Documents and Settings\wy\My Documents\RAD Studio\Projects ShowMessage(f); //Project1.exe end;
//压缩显示 MinimizeName (需要 uses FileCtrl) var s: string; begin s := ParamStr(0); s := MinimizeName(s,Self.Canvas,100); ShowMessage(s); //C:\...\Project1.exe end;