请问如何提取文件夹名!我没分了。(0分)

  • 主题发起人 主题发起人 lah998
  • 开始时间 开始时间
L

lah998

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何提取文件夹名!
如“c:/myfile/xxx”,提取字符串"xxx";
 
使用这个函数 Copy(strPath,1,Pos('/',strPath)-1)
表示取字符串的最后一“/”开始到最后,
用这种方法应该可以,多实验一下
 
突然想到一个办法,试试看看
c:/myfile/xxx-》c:/myfile/xxx.pas //随便加个扩展名
ExtractFileName(strPath)
copy(....)
呵呵
 
khaki,:你这个只是提取盘符,如:"c:"没有提取"xxx"
taninsh,:ExtractFileName(strPath)这个是得到路径你不加扩展名也是一样的!
 

爱是在行动上的。既然爱Delphi就应该多用脑,而不靠别人。

function ReturnName(Value: pchar): string;
begin
result := AnsiStrRScan(Value,'/');
Delete(result,1,1);
end;
 
已知文件“c:/myfile/xxx/file.pas”
str = 'c:/myfile/xxx/file.pas'
edit2.text := ExtractFileDir(str)
//得到c:/myfile/xxx
edit3.text := ExtractFileName(edit2.text)
//得到xxx
 
huntor,:
edit3.text := ExtractFileName(edit2.text)
//得到xxx//是得到“c:/myfile”!
影 子,:你的就真的正确了!可你要把实现的原理讲一讲啊!
 
影 子,:你不讲我就不结贴!
 
我还要提前!
 
我试过的,没错啊。

影子的原理是从串的右边开始搜索,找到第一个/,然后截取后面的串就是了
我不知道DELPHI有这个函数,只知道C里的
 
看清楚喽。
ExtractFileName是得到文件名的,不过对于c:的路径就不行了,要有额外的判断
ExtractFileDir是得到路径的

PS:你又没有分,影子也不用等你结贴啊。 :)
 
接受答案了.
 
huntor,:谢谢你!我没有看清楚
 

哈哈,我没订阅邮件,不知道。
再说,就算结帐也没分啊!
原理huntor讲了,如果不用AnsiStrRScan,也可以用循环返向遍历字符串,直至找到'/'为止。
建议你有空的时候看看Delphi的函数,当然,女孩子最好还是不要编程了。
 
后退
顶部