博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转 文件路径相关的字符串操作
阅读量:7127 次
发布时间:2019-06-28

本文共 2447 字,大约阅读时间需要 8 分钟。

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'); //返回 Trueend;

//分解 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.exeend;

//压缩显示 MinimizeName (需要 uses FileCtrl)var  s: string;begin  s := ParamStr(0);  s := MinimizeName(s,Self.Canvas,100);  ShowMessage(s); //C:\...\Project1.exeend;

转载地址:http://xpael.baihongyu.com/

你可能感兴趣的文章
与Bob McWhirter的问答:WildFly Swarm更名为Thorntail项目
查看>>
新书问答:Agile Management
查看>>
在sublime中实现代码检测
查看>>
活在伟大的Scrum团队是什么感觉
查看>>
Swift 5进入发布倒计时
查看>>
一套代码称霸5大端口,移动金融应用还能这样开发?
查看>>
MIT开发Polaris,使网页载入加快34%
查看>>
微软对macOS和Linux开放量子开发工具集
查看>>
一份关于Angular的倡议清单
查看>>
没有估算,你仍然可以用这些决策策略
查看>>
通过调研开源基准测试集,解读大数据的应用现状和开源未来
查看>>
译文-调整G1收集器窍门
查看>>
时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体
查看>>
开源是项“全民工程”,揭秘开源团队的管理运作
查看>>
基于Gitflow分支模型自动化Java项目工作流
查看>>
ES6学习之一
查看>>
专访何红辉:谈谈Android源码中的设计模式
查看>>
超2亿中国用户简历曝光!MongoDB又一重大安全事故
查看>>
网易云信周梁伟专访:亿级架构IM平台的技术难点解析
查看>>
独家揭秘腾讯千亿级参数分布式机器学习系统无量
查看>>