2009-08-28 16 views
12

Wie könnte man das letzte Element eines String-Arrays in Visual Basic 6 abrufen?Holen Sie das letzte Element des String-Arrays in Vb6?

Ich habe mit Dateinamen mit mehreren Punkten, die in ein Array aufgeteilt sind, und ich möchte nur die Erweiterung zu manipulieren. Der folgende Code funktioniert, hat aber ein fest codiertes Element, das ich entfernen möchte.

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

Warum nicht einfach den letzten Index des '.' Zeichen in der Zeichenfolge? –

Antwort

25

Ich denke, mit Ubound sollte es tun:

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

- vielen Dank! –

0

Allerdings, wenn es wirklich ist nur die Erweiterung, die Sie nach sind, dann würde dies die Arbeit machen:

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 
Verwandte Themen