当前位置:编程学习 > VB >>

怎样判断文件路径的后缀名呢

路径在文本框里 --------------------编程问答-------------------- .  后面的就是后缀名称 --------------------编程问答-------------------- 能具体些么   --------------------编程问答-------------------- [code=V]msgbox split(text1.text,".")(ubound(split(text1.text,".")))[/code] --------------------编程问答-------------------- msgbox split(text1.text,".")(ubound(split(text1.text,"."))) --------------------编程问答-------------------- 要输出 后缀名 --------------------编程问答-------------------- --------------------编程问答-------------------- msgbox split(text1.text,".")(ubound(split(text1.text,"."))) --------------------编程问答-------------------- --------------------编程问答--------------------
引用 5 楼 myhzc992 的回复:
要输出 后缀名
4F的代码试了吗? --------------------编程问答--------------------
Right(Text1.Text, InStr(1, StrReverse(Text1.Text), ".") - 1)
--------------------编程问答-------------------- 我的代码应该是最简单且正确的了! --------------------编程问答--------------------
引用 10 楼 mokton 的回复:
VB code
Right(Text1.Text, InStr(1, StrReverse(Text1.Text), ".") - 1)
还不如用mid(Text1.Text,instrrev(Text1.Text,)+1)呢

如果值是c:\abc --------------------编程问答-------------------- 根据自己程序的操作领域来决定自己用什么办法吧

开发一个程序操作某些文件的时候,一般都清楚自己这个软件所涉及的领域都是些什么文件,比如我最近开始的一个游戏歌曲文件管理器一样,正常来说没有4个字母的后缀名,所以判断后缀的时候只需要Right函数取后4个字符如果是".xml",".pak",".mp3"这些都可以根据后缀名作进一步处理,根本不考虑4个字母的后缀名,而一些针对网络的编程为了判断.html或.htm才有必要取4位,这时候我才会考虑用这些办法. --------------------编程问答-------------------- --------------------编程问答--------------------
引用 12 楼 sysdzw 的回复:
引用 10 楼 mokton 的回复:

VB code
Right(Text1.Text, InStr(1, StrReverse(Text1.Text), ".") - 1)
还不如用mid(Text1.Text,instrrev(Text1.Text,".")+1)呢

如果值是c:\abc
  --------------------编程问答--------------------
引用 12 楼 sysdzw 的回复:
引用 10 楼 mokton 的回复:

VB code
Right(Text1.Text, InStr(1, StrReverse(Text1.Text), ".") - 1)
还不如用mid(Text1.Text,instrrev(Text1.Text,)+1)呢

如果值是c:\abc

12楼说的有道理,不过呢,楼主明确提出来了“判断文件路径的后缀名”,这个不是很明确,如果是取文件名的后缀的话就没问题,可是楼主还是最好解释一下这个“文件路径的后缀名”是什么呢? --------------------编程问答-------------------- 这还不简单的事,用:InStrRev() 现成的函数从右向左搜索“.”,然后用Right()从右向左取子串不就完了嘛。 --------------------编程问答--------------------
引用 17 楼 txzsp 的回复:
这还不简单的事,用:InStrRev() 现成的函数从右向左搜索“.”,然后用Right()从右向左取子串不就完了嘛。
InStrRev返回的是最后一个.的位置,用right不行的,直接用mid就完事了,参考15L --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 这个简单,你不是说文件路径在文本框里吗,看下面的代码(假设你的文本框是Text1):

For i = 1 To Len(Text1.Text) '从右往左
   If Mid$(Text1.Text, i, 1) = "." Then '读每一位的文本,如果当前的文本是.的话
      TuoZhanMing = Right$(Text1.Text, Len(Text1.Text) - i) 
     '将文本框中的文本从右往左取到当前的位置
      Exit For
   End If
Next

可能注释表达的不是很清楚,自己试试就知道了。代码都经过调试。 --------------------编程问答--------------------
引用 21 楼 jiluoxingren 的回复:
这个简单,你不是说文件路径在文本框里吗,看下面的代码(假设你的文本框是Text1):
VB code

For i = 1 To Len(Text1.Text) '从右往左
   If Mid$(Text1.Text, i, 1) = "." Then '读每一位的文本,如果当前的文本是.的话
      TuoZhanMing = Right$(Text1.Text, Len(Text1.……
你注释写的是从右往左但是挨个字符扫描是从左往右。所以如果c:\a.b.txt处理得到后缀名应该就是b.txt。For i = Len(Text1.Text) To 1 step -1或许还可行,开始不是有现成的instrrev函数吗?

大家回复时应该先看看别人的回复,如果你要发的答案已经有了就不必发了,以免“数据冗余”,发现mid(Text1.Text,instrrev(Text1.Text,".")+1)有好几楼有了。
--------------------编程问答--------------------
引用 6 楼 veron_04 的回复:
VB code
'添加两个文本框,txtFileName,文件路径全名(路径,文件名,后缀名)
'添加一个按钮控件,btnGetFileTypeName 读取文件的后缀名
Option Explicit
Private Sub btnGetFileTypeName_Click()
    Dim intP As Integer
    intP = InStr(1, txtFileNa……


6樓的哥哥,請問要是把你的.txt換成.txt.doc.xls,怎麼把這3個都顯示出來呢? --------------------编程问答-------------------- 添加两个文本框,txtFileName,文件路径全名(路径,文件名,后缀名)
你没明白意思  --------------------编程问答--------------------
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,