StripFileNameFromPath(pfadname$) von ???
...wenn man einen Pfadnamen hat, wie z.B. "http://www.blitzforum.de/faq.php", und davon nur den Dateinamen braucht, also alles rechts vom letzten Slash:

[code:1:d94f18136d]
Function StripFileNameFromPath(pfadname$)

gesamtlaenge = Len(pfadname$)

offset = gesamtlaenge

While Not Mid$(pfadname$, offset,1) = "/"

offset = offset - 1

Wend

dateiname$ = Right$(pfadname$, offset)

Return dateiname$

End Function
[/code:1:d94f18136d]
===
von ???
das ist aber NUR für http pfade zu gebrauchen! da lokale dateipfade mit einem "" (backslash) geschrieben werden. deshalb find ich das topic etwas verwirrend...
===
von ???
Na das läßt sich ja schnell erweitern

[code:1:f43885fcbb]
Function StripFileNameFromPath(pfadname$)

gesamtlaenge = Len(pfadname$)

offset = gesamtlaenge

While (Mid$(pfadname$, offset,1) <> "/" ) Or (Mid$(pfadname$, offset,1) <> "" )

offset = offset - 1

Wend

dateiname$ = Right$(pfadname$, offset)

Return dateiname$

End Function

[/code:1:f43885fcbb]
===
von ???
Und damit es auch funktioniert:

[code:1:4cdc3976d8]
file$="d:/eigene dateien/eigene bilder/vinca.jpg"

dateiname$=stripfilenamefrompath$(file$)
dir$=path$(file$)

Print dateiname$
Print dir$

MouseWait()
End



Function StripFileNameFromPath$(pfadname$)

gesamtlaenge = Len(pfadname$)

offset = gesamtlaenge

While (Mid$(pfadname$, offset,1) <> "/" ) And (Mid$(pfadname$, offset,1) <> "" )

offset = offset - 1

Wend

dateiname$ = Right$(pfadname$, gesamtlaenge-offset)

Return dateiname$

End Function


Function Path$(pfadname$)

gesamtlaenge = Len(pfadname$)

offset = gesamtlaenge

While (Mid$(pfadname$, offset,1) <> "/" ) And (Mid$(pfadname$, offset,1) <> "" )

offset = offset - 1

Wend

dir$ = Left$(pfadname$, offset)

Return dir$

End Function
[/code:1:4cdc3976d8]
===
von ???
Die zu allererst gepostet Version funktioniert ebenfalls, sonst hätte ich sie nicht gepostet. Ich habe sie separat in Notepad geschrieben, ohne dabei irgendwelche Variablen aus dem Hauptprogramm zu berücksichtigen, und dann rüberkopiert in das Blitzprogramm, an dem ich gerade gearbeitet habe, und sie hat funktioniert.

Grüße,
Thomas
===
von ???
@4pac

Bei mir (BB2) kann ich Strings nur dann zurückgeben,
wenn ich die Funktion auch als Stringfunktion aufrufe.

Also dieses: $ hat am Funktionsnamen gefehlt.

Und dein Offset kann eigentlich nur funktioniert haben,
wenn Pfadlänge=Filelänge war.

@valio

Was machst du, wenn du Pfad zurückhaben willst,
in genau der schreibweise die übergeben wurde?

PS: Meine beiden Funktionen da oben kann man natürlich ganz einfach
in einen einzige zusammenfügen, wenn man einen mode Parameter übergibt.
StripFileNameFromPath$(pfadname$,mode)
===
von ???
[quote:b2c402ba3f]@valio

Was machst du, wenn du Pfad zurückhaben willst,
in genau der schreibweise die übergeben wurde? [/quote:b2c402ba3f]

Für was soll das gut sein? Auch Windowspfade können mit Slashs (/) anstatt Backslashs geschrieben werden. Nur ist der Backslash im Explorer bei lokalen Pfaden noch drinnen...



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: