Traintement d'une chaîne de caractères

[Résolu]
Signaler
Messages postés
3
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
7 mai 2007
-
Messages postés
3
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
7 mai 2007
-
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

Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
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
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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


 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

On peut aussi comme cela :

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

A+
Exploreur

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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

 
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
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
Messages postés
3
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
7 mai 2007

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 !
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
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
Messages postés
3
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
7 mai 2007

Merci beaucoup pour ces précisions !!!