Traintement d'une chaîne de caractères

Résolu
gezy Messages postés 3 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 7 mai 2007 - 7 mai 2007 à 14:26
gezy Messages postés 3 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 7 mai 2007 - 7 mai 2007 à 17:41
Hello,
Alors c'est pas compliqué.
Déjà je suis sous VB 2005 Express.

J'ai un petit programme qui me permet de lister les fichiers d'un répértoire dans une listview à 2 colonnes.
Une partie Nom et une partie Dates.

Je voudrais juste pouvoir afficher fichier plutôt que fichier.avi. En gros je voudrais cacher l'extension à l'affichage.

Merci de votre aide !!

8 réponses

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
7 mai 2007 à 15:06
salut
desolé exploreur, mais encore une fois, je vais donner la reponse en .net :) J'espere que tu n'y vois aucune offense ^^

gezy :
en admettant que str contient "fichier.avi", et qu'on stocke le resultat dans res :


res=str.Substring(0, str.LastIndexOf("."))

J'utilise LastIndexOf et non IndexOf (qui est l'équivalent de Instr) dans le cas ou un . serait présent dans le nom de fichier.
cette méthode devrait donc coller dans touts les cas.

have fun

Hvb a.k.a Batto
http://batto.info/ ^^x
bato.ltd .at. gmail.com
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 mai 2007 à 14:49
Salut,

Sert toi de Right...

Dim Toto As String
Dim Nbr As integer
Toto = "Monfichier.Avi"
Nbr = Len(Toto)
Toto = Left(Toto, nbr - 4) ' 4 correspond à .Avi


MsgBox Toto


A+
Exploreur


 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 mai 2007 à 14:58
Salut,

On peut aussi comme cela :

Dim Toto As String
Toto = "Essai.Avi"
Toto = Left(Toto, InStr(Toto, ".") - 1)
MsgBox Toto

A+
Exploreur

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 mai 2007 à 16:26
Salut Hvb,

No soucis....C'est normal de donnée la rep en .net, puisque c'est la plateforme de dev de Gezy...

Je "pensais" que certaines instructions restées valable en .net....Tout Faux...Rrrrr

A+
Exploreur

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
7 mai 2007 à 17:21
Non non tu n'as pas "tout faux", tu pensais bien.
Ces fonctions sont encore présente, mais propres à VB.
Le truc c'est que je pense qu'il vaut mieux utiliser les instructions propres aux classes intégrés à .NET, ceci permettant de migrer d'un language .net à un autre en ne se souciant presque que de la syntaxe du code.
Les instructions visual basic sont disponibles seulement si la reference visual basic est activé (comme je l'ai déja dit sur un précedent post), donc pas en c#, c++, etc...

Bref, c'est juste pour pousser les gens à prendre de bonnes habitudes :)

Hvb a.k.a Batto
http://batto.info/ ^^x
bato.ltd .at. gmail.com
0
gezy Messages postés 3 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 7 mai 2007
7 mai 2007 à 17:23
Milles merci pour vos réponse rapides !!
Ca marche nickel !
En effet c'est du .net, c'est pour ça que j'ai de la peine à trouver des exemples de codes...

Juste une précision pour être sûr de bien comprendre.
Tu arriverais juste à me décortiquer cette ligne de code ?!
Parce que même avec des points dans le fichier c'est vraiment uniquement le dernier qui est pris en compte. C'est juste parfait !

res=str.Substring(0, str.LastIndexOf("."))

Merci !
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
7 mai 2007 à 17:32
Je me cite :

"J'utilise LastIndexOf et non IndexOf (qui est l'équivalent de Instr) dans le cas ou un . serait présent dans le nom de fichier.
cette méthode devrait donc coller dans touts les cas."

LastIndexOf(".") renvoit la position de la derniere occurence d'un "." dans la chaine.
SubString permet de renvoyer une sous chaine, en spécifiant la position de début (donc ici 0) et la taille de la sous chaine (donc l'endroit du dernier ".").

Hvb a.k.a Batto
http://batto.info/ ^^x
bato.ltd .at. gmail.com
0
gezy Messages postés 3 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 7 mai 2007
7 mai 2007 à 17:41
Merci beaucoup pour ces précisions !!!
0
Rejoignez-nous