2009-08-28 18 views
12

W jaki sposób można pobrać ostatni element tablicy łańcuchowej w Visual Basic 6?Pobierz ostatni element tablicy ciągów w vb6?

Mam do czynienia z nazwami plików z wieloma kropkami, które są podzielone na tablicę i chcę manipulować tylko rozszerzeniem. Poniższy kod działa, ale ma element zakodowany na stałe, który chcę usunąć.

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

Po prostu znajdź ostatni indeks "." znak w ciągu znaków? –

Odpowiedz

25

myślę użyciu Ubound powinno załatwić sprawę:

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 
3
realExt = aPath(ubound(aPath)) 
+0

- dziękuję bardzo! –

0

Jednak czy to naprawdę tylko przedłużenie jesteś po, by to wykonać zadanie:

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 
Powiązane problemy