Получить последний элемент массива строк в vb6?
Как можно получить последний элемент массива строк в visual basic 6?
Я имею дело с именами файлов с несколькими точками, которые разделены на массив, и я хочу манипулировать только расширением. Следующий код работает, но имеет жесткий код, который я хочу удалить.
Private Sub Form_Load()
Dim aPath() As String
Dim FileName As String
Dim realExt As String
FileName = "A long dotty.file.name.txt"
aPath = Split(FileName, ".")
realExt = aPath(3) ' <-- how to not hardcode?'
MsgBox ("The real extension is: " & realExt)
Unload Me
End Sub
Ответы
Ответ 1
Я думаю, что использование Ubound должно сделать трюк:
Private Sub Form_Load()
Dim aPath() As String
Dim FileName As String
Dim realExt As String
FileName = "A long dotty.file.name.txt"
aPath = Split(FileName, ".")
realExt = aPath(UBound(aPath))
MsgBox ("The real extension is: " & realExt)
Unload Me
End Sub
Ответ 2
realExt = aPath(ubound(aPath))
Ответ 3
Однако, если это действительно просто расширение, которое вам нужно, это выполнит задание:
Private Sub Form_Load()
Dim sFileName As String
Dim lPos As Long
Dim sRealExt As String
sFileName = "A long dotty.file.name.txt"
lPos = InStrRev(sFileName, ".")
If lPos Then sRealExt = Mid$(sFileName, lPos + 1)
End Sub