Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Fuka_
Coder
Coder



Anmeldedatum: 15.11.2007
Beiträge: 96

Ein "\" aus einem Pfad entnehmen
Verfasst am: 29.04.2008, 13:10

Moin Leute!


Vorwort:

Dank ZiG's Funktion aus Thread http://dbhost.info/vbx/viewtopic.php?t=2848 hier, ist es mir möglich aus z.B. "C:\Ordner1\Ordner2" -> "C:\Ordner1\" zu machen.


Code:
Private Function GetPreviousDirectory(ByVal sFilepath As String) As String
On Error GoTo Err:
Dim iPos As Long
If Len(sFilepath) = 3 Then GoTo Err:
 
iPos = InStrRev(sFilepath, "\", Len(sFilepath) - 1)
If iPos = 0 Then GoTo Err:

GetPreviousDirectory = Mid$(sFilepath, 1, iPos)

Exit Function
Err:
GetPreviousDirectory = sFilepath
End Function


Das brauch ich ja um in meinem RAT einen Ordner im Filemanager zurück zu gehen.


Frage:

Also.. Aus "C:\Ordner1\Ordner2" wird "C:\Ordner1\".

Es soll aber "C:\Ordner1" heißen, ohne das letze "\" !

Womit mache ich das aber? In der Funktion lässt sich das ja ändern, nur ich weiß nicht genau wie. Confused


MfG
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 29.04.2008, 13:15

Zitat:

Private Function GetPreviousDirectory(ByVal sFilepath As String) As String
On Error GoTo Err:
Dim iPos As Long
If Len(sFilepath) = 3 Then GoTo Err:

iPos = InStrRev(sFilepath, "\", Len(sFilepath) - 1)
If iPos = 0 Then GoTo Err:

GetPreviousDirectory = Mid$(sFilepath, 1, iPos - 1)

Exit Function
Err:
GetPreviousDirectory = sFilepath
End Function

Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Fuka_
Coder
Coder



Anmeldedatum: 15.11.2007
Beiträge: 96


Verfasst am: 29.04.2008, 13:40

Ach da! Razz

Joa geht, nur wenn jetzt "C:\" steht, macht er daraus "C:".
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 29.04.2008, 13:58

Ja Mensch, was erwartest du denn?
Dann mußt du es dir so ändern das es voll und ganz deinen Wünschen entspricht.
Ich kann mich nur nach deinen Fragen und Erklärungen richten.

Code:

Private Function GetPreviousDirectory(ByVal sFilepath As String) As String
On Error GoTo Err:
Dim iPos As Long
If Len(sFilepath) = 3 Then GoTo Err:

iPos = InStrRev(sFilepath, "\", Len(sFilepath) - 1)
If iPos = 0 Then GoTo Err:

if iPos > 3 then
 GetPreviousDirectory = Mid$(sFilepath, 1, iPos - 1)
Else
 GetPreviousDirectory = Mid$(sFilepath, 1, iPos)
end if

Exit Function
Err:
GetPreviousDirectory = sFilepath
End Function

Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
dcm_
Newbie
Newbie

Anmeldedatum: 24.02.2008
Beiträge: 15


Verfasst am: 29.04.2008, 14:11

Oder versuch doch einfach mal, was selber zu lösen, wie wärs damit? ^^

du hättest auch einfach abfragen können, ob der letzte buchstabe des strings ein ":" ist, und wenn ja ein "\" anhängen können... oder eben durch die länge
 
Fuka_
Coder
Coder



Anmeldedatum: 15.11.2007
Beiträge: 96


Verfasst am: 29.04.2008, 14:11


Danke!!!

Ja ich bin nur grade echt nicht drauf gekommen Embarassed

manchmal hat man so eine art "blackout" Very Happy
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Problem mit always on top funktion 1106 30.10.2009, 12:26
Keine neuen Beiträge IntStr()funktion 1303 11.10.2007, 09:49
Keine neuen Beiträge TopMost Funktion unter DirectX 1021 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 1213 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.1795s ][ Queries: 95 (0.1316s) ][ GZIP on - Debug on ]