📄 如何获得文件的相对路径.txt
字号:
sDict:当 前 目 录
tDict:目 标 文 件
函 数 返 回 值 为 转 换 后 的 目 录
函 数 工 作 原 理 是 :
当 sDict不 含 盘 符 , 而 tDict含 盘 符 时 不 转 换 。
当 sDict和 tDict盘 符 不 相 同 时 不 转 换 。
当 tDict为 空 时 返 回 为 空
其 它 情 况 时 , 先 去 掉 各 自 的 公 共 部 分 。 然 后 对 sDict余 下 部 分 进 行 循 环 , 每 含 一 个 目 录 , 则 在 tDict前 加 个 "../"符 号 。
函 数 通 过 vb60测 试 正 确 。
Private Function Convert_Dict(ByVal sDict As String, ByVal tDict As String) As String
Dim i As Integer
Convert_Dict = ""
If InStr(tDict, "\") = 0 Then
Convert_Dict = tDict
Exit Function
End If
If tDict = "" Then Exit Function
If sDict = "" Or (InStr(sDict, ":") = 0 And InStr(tDict, ":") > 0) Or (InStr(sDict, ":") > 0 _
And InStr(tDict, ":") > 0 And UCase(Left(sDict, 2)) <> UCase(Left(tDict, 2))) Then
Convert_Dict = tDict
Else
sDict = IIf(Right(sDict, 1) = "\", sDict, sDict + "\")
Do While UCase(Left(sDict, InStr(sDict, "\") - 1)) = UCase(Left(tDict, InStr(tDict, "\") - 1))
sDict = Right(sDict, Len(sDict) - InStr(sDict, "\"))
tDict = Right(tDict, Len(tDict) - InStr(tDict, "\"))
If sDict = "" Or InStr(tDict, "\") = 0 Then Exit Do
Loop
Do While InStr(sDict, "\") > 0
Convert_Dict = Convert_Dict + "../"
sDict = Right(sDict, Len(sDict) - InStr(sDict, "\"))
Loop
Convert_Dict = Convert_Dict + tDict
End If
Do While InStr(Convert_Dict, "\") > 0
Convert_Dict = Left(Convert_Dict, InStr(Convert_Dict, "\") - 1) + "/" + Mid(Convert_Dict, _
InStr(Convert_Dict, "\") + 1, Len(Convert_Dict) - InStr(Convert_Dict, "\"))
Loop
End Function
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -