恳请精于vb6.0 的前辈留步,

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:30:07
用commondialog 打开文件时,如何获取已打开文件的文件名,不要带有路径 (如:abc.bmp 不是 C:\dddd\abc.bmp)
BEAR_BEN 曾指点截取字符串,从commondialog.filename尾部一直扫到第1个“\”,把中间的用mid函数截取出来}

但我不会扫“\”,请高手指点给点代码 小女子在此谢谢了

挺简单的,用到函数InstrRev(返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起):
filename=mid(commondialog.filename,InstrRev(commondialog.filename,"\")+1)

InstrRev用来检测一个字符串在另一个字符串中最后出现的位置

新建工程,放2个Text,1个Command

Private Sub Command1_Click()
Text1.Text = "E:\Program Files\浩方对战平台\GameClient.exe"
Text2.Text = GetFileName(Text1.Text)
End Sub

Private Function GetFileName(sTemp As String) As String
Dim lTemp As Long
sTemp = StrConv(sTemp, vbFORMUnicode) '使地址中有中文时也能正确读出
lTemp = InStrRev(sTemp, "\")
GetFileName = Mid(sTemp, lTemp + 1, Len(sTemp) - lTemp)
End Function