InStrRev
Ang tidigare tråd FileListBox och Niklas helt riktiga invändning .
Någon som begriper varför svaret blir 12 här, borde bli 4
<code>
Option Explicit
Private Sub Command1_Click()
Dim tmpStr As String, pos As Long
tmpStr = "svenpersson.jpg"
pos = InStrRev(tmpStr, ".")
MsgBox pos
End Sub
</code>
Svara
Sv: InStrRev
Hittar sista punkten, men värdet den returnerar räknas från början.
Använd
mid$(str, 1, instrrev(str, "."))
för att få allt framför, eller
mid$(str, instrrev(str, "."))
för att få allt efter.
Svara
Sv: InStrRev
Då borde det vara rätt att skriva så här.
<code>
Private Sub Form_Load()
Dim i As Long, tmpStr As String, pos As Long
For i = 0 To File1.ListCount - 1
tmpStr = File1.List(i)
pos = InStrRev(tmpStr, ".")
List1.AddItem Left$(tmpStr, pos - 1)
Next 'i
</code>
Dvs samma som att bara skriva <b>InStr(tmpStr,".")</b>
Svara
Sv:InStrRev
Jepp. Förutom i fallet där det finns mer än en punkt. Vanligt för vetenskapliga artiklar är t.ex.
document.ps.gz
Vad är ändelen, gz eller ps.gz?
gz är en g-zippad fil.
ps är en postscript-fil.
ps.gz blir då en g-zippad postscript-fil.
I det här fallet är det nästan en debattfråga vad som är rätt, men jag håller mig nog till att det bara ska vara det sista. Det är inte ovanligt att folk gör grejer i stil med:
"Hans P. Andersson.jpg"
idag.
Svara