Zeichenfolge um die hinteren 3 zeichen kurzen.

maho15

Erfahrenes Mitglied
Hi,

Ich möchte einen Dateiname, der in einer Variable steht um die hinteren 3 Zeichen kurzen.
Beispiel:


Private Sub Test()
Dim a
a = "Bild03.jpg"



Herauskommen soll dann: "Bild03"
 

Dario Linsky

Erfahrenes Mitglied
in delphi gibt's da eine funktion für, die nennt sich ExtractFileName(). in vb gibt's sowas glaub ich auch, aber ich komm gerade nicht drauf.
also: selber programmieren. :)

Code:
Private Function ExtractFileName(FileName As String) As String

If FileName <> "" Then
    ExtractFileName = Left(FileName, Len(FileName) - 4)
End If

End Function

die funktion schneidet einfach die letzten vier zeichen (".jpg") ab und gibt nur den dateinamen zurück. bei *.html oder *.class kriegst du dann aber probleme.
 

Daniel Toplak

Erfahrenes Mitglied
die funktion schneidet einfach die letzten vier zeichen (".jpg") ab und gibt nur den dateinamen zurück. bei *.html oder *.class kriegst du dann aber probleme.
Das problem mit 4-Stelligen Dateiendungen lässt sich auch etwas anders lösen:

Code:
Dim FileName As String, fName As String
FileName = "hallo.html"
    
fName = Left(FileName, InStrRev(FileName, ".") - 1)

somit wird immer sichergestellt, das die Dateiendung "abgeschnitten" wird, egal ob 1,2,3....n Ziffern.

Gruss Homer
 
Q

Quentin

interessanter find ich die lösung:

Code:
if instr(filename,".") <> 0 then
    filename = split(filename,".")
    newfilename=filename(0)
end if

:D