Scusate, io stamattina ho la febbre quindi potrei scrivere baggianate, ma mi sorge un dubbio, a cosa vi serve un ciclo?
Private Sub Elabora(ByVal s_stringa As String, ByRef s_stringaNessunSlash As String, ByRef s_stringaUnSlash As String)
'Calcolo il nome file senza nessun slash
s_stringaNessunSlash = Right(s_stringa, Len(s_stringa) - InStrRev(s_stringa, "\"))
'rimuovo il nome file e l'ultimo slash
s_stringa = Left(s_stringa, Len(s_stringa) - (Len(s_stringaNessunSlash) + 1))
'Calcolo il nome file con uno slash
s_stringaUnSlash = Right(s_stringa, Len(s_stringa) - InStrRev(s_stringa, "\")) & "\" & s_stringaNessunSlash
End Sub
Per provarla è sufficente far così:
Dim s_stringaNessunSlash As String
Dim s_stringaUnSlash As String
Elabora "c:\pippo\pluto\paperino\minni\zio paperone\qui\quo\qua\marco.txt", s_stringaNessunSlash, s_stringaUnSlash
MsgBox s_stringaNessunSlash
MsgBox s_stringaUnSlash
Sbaglio? C'è qualcosa che mi sfugge? Ripeto potrebbe anche darsi visto che stamattina non sono in posseso di tutte le mie facoltà mentali...
.
Edit:
Un ultima cosa non avevo notato, attenzione scrivere
Dim pt1, pt2, x As Short
Ecquivale a:
Dim pt1 As Variant
Dim pt2 As Variant
Dim x As Short
Bisogna scrivere
Dim pt1 As Short
Dim pt2 As Short
Dim x As Short
Oppure
Dim pt1 As Short, pt2 As Short, x As Short
Magari avete scritto così solo perchè era un esempio, ma io finche non l'ho letto sul forum non lo sapevo quindi ho preferito scriverlo....