Calculer le répertoir précédant

Soyez le premier à donner votre avis sur cette source.

Vue 2 544 fois - Téléchargée 149 fois

Description

C'est très simple

Source / Exemple :


Option Explicit
Dim NewRep As String
Dim x As Integer

Private Sub Command1_Click()
NewRep = Text1
Text2 = ""
x = Len(NewRep)
If Len(NewRep) > 1 Then x = x - 1
Do Until Mid(NewRep, x, 1) = "/"
  x = x - 1
Loop

Text2 = Mid(NewRep, 1, x)
End Sub

Conclusion :


Je joindrai un zip d'example un peu plus tard

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
24
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
3 février 2003

Le code marche très bien pour l'utilité que j'en ai fais

je l'utilise pour calculer le repertoire précédant dans un client ftp que je suis en train de développer

je l'ai pas tester avec des "" si tu me dit que sa ne fonctionne pas avec c'é possible
Messages postés
49
Date d'inscription
vendredi 11 janvier 2002
Statut
Membre
Dernière intervention
20 juillet 2004

conclusion, il faut que je mette 2 backslash pour en afficher 1.
c normal sur ce site ?? ou g un souci étrange ?
désolé pour la quantité de messages inutiles ;-)
Messages postés
49
Date d'inscription
vendredi 11 janvier 2002
Statut
Membre
Dernière intervention
20 juillet 2004

je recommence
Private Sub Command1_Click()
Dim iCpt As Integer
For iCpt = Len(Text1.Text) To 1 Step -1
If Mid(Text1.Text, iCpt, 1) = "" Then Exit For
Next iCpt
Text2.Text = Mid(Text1.Text, 1, iCpt) 'ou iCpt - 1 pour ne pas avoir à la fin
End Sub
Messages postés
49
Date d'inscription
vendredi 11 janvier 2002
Statut
Membre
Dernière intervention
20 juillet 2004

\\\\\\\\\
je viens d'écrire une ligne de backslash, mais ça marche pas !!???? :-(
Messages postés
49
Date d'inscription
vendredi 11 janvier 2002
Statut
Membre
Dernière intervention
20 juillet 2004

je suppose que text1 et text2 sont des textbox, en fait tu fais une recherche de caractère dans une chaine, en partant de la fin ...
pourquoi pas, mais ...
... le séparateur de répertoire, c'est un backslash ... pas /, parce que là ton code plante !
Même si tu mets le bon signe, ça plante si le signe n'est pas dans la chaine ou si la chaine est vide (donc pas de signe non plus).

J'essaierai plutot

Private Sub Command1_Click()
Dim iCpt As Integer
For iCpt = Len(Text1.Text) To 1 Step -1
If Mid(Text1.Text, iCpt, 1) = "" Then Exit For
Next iCpt
Text2.Text = Mid(Text1.Text, 1, iCpt) 'ou iCpt - 1 pour ne pas avoir à la fin
End Sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.