Подтвердить что ты не робот

Получить последний элемент массива строк в 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
4b9b3361

Ответ 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