Renommage de fichiers en VB

Renommage de fichiers en VB - VB/VBA/VBS - Programmation

Marsh Posté le 03-12-2002 à 16:44:41    

Bonjour,
J 'aurais besoin de la synthaxe en VB de de tout ce qui est recherche dans les chaines, séparation en sous chaines..etc
Concrétement, à partir d'un fichier de type :
abc_mno_xyz_azerty.jpg
Je voudrais faire :
abc_mno_xyz_01.jpg
Dans l 'idée, il faudrait à priori que stock les 4 derniers caractère (l'extension) quelque part, coupe la chaine jusqu'au 3ème "_", ajoute un numéro et l'extension à la fin.
Le seul problème c'est que je ne sais pas le faire :p
Merci d 'avance,
 
Laurie :hello:
(en fait, ne vous embettez pas à faire tout l'algo, je m'en sortirai avec juste quelques points de synthaxe ;)


Message édité par Laurie_ le 03-12-2002 à 16:55:32
Reply

Marsh Posté le 03-12-2002 à 16:44:41   

Reply

Marsh Posté le 03-12-2002 à 16:53:16    

pour renommer :  
 
Name Fichier1 As Fichier2
 
Pour découper  
 
ttab() as string
ttab=Split(MaChaine,"_" )
 

Reply

Marsh Posté le 03-12-2002 à 17:10:53    

J'ai fais un test avec deux textbox, je tape quelque chose dans la première et quand je clic, ça me découpe la chaine et ça met le résultat dans la seconde (en théorie ^^)

Citation :

resultat.Text = Split(base.Text, "_" )


Ca donne une erreur 13, type incompatible..
 
(J'ai dû louper un truc mais je n'ai pas compris à quoi servait le ttab()..etc)


Message édité par Laurie_ le 03-12-2002 à 17:11:41
Reply

Marsh Posté le 03-12-2002 à 17:15:30    

la fonction split renvoit un tableau de string, c'est normal que tu ne puisse pas récupérer le résultat dans une string


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 03-12-2002 à 17:36:36    

Wahou, merci, ça marche :)

Citation :

Private Sub bouton_Click()
Dim ttab() As String
Dim ext() As String
ext = Split(base.Text, "." )
ttab = Split(base.Text, "_" )
resultat.Text = ttab(0) + "_" + ttab(1) + "_" + ttab(2) + "_" + "001" + "." + ext(1)
End Sub


 :jap:

Reply

Marsh Posté le 03-12-2002 à 18:07:02    

Autre chose, tant que j'y suis, comment obtient-on la longueur d'une chaine de caractère ? Je pensais à machaine.length mais on ne dirait pas..

Reply

Marsh Posté le 03-12-2002 à 18:10:58    

Laurie_ a écrit a écrit :

Autre chose, tant que j'y suis, comment obtient-on la longueur d'une chaine de caractère ? Je pensais à machaine.length mais on ne dirait pas..




Code :
  1. Dim longueur As Long
  2. longueur = len(MaChaine)


Message édité par mareek le 03-12-2002 à 18:11:10

---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 03-12-2002 à 18:55:26    

Si tu utilise Visual Studio, tu peux utiliser l'explorateur d'objet (F2) c pas mal pour ce genre de p'tites fonctions  :D

Reply

Marsh Posté le 03-12-2002 à 19:21:32    

en VB6 les types classiques ne sont pas à proprement parler des objets: pas de méthodes ou de propriétés, contrairement à VB.NET, le petit dernier, qui en regorge.
 
La classe qui t'intéressera le plus pour ce qui est des fonctions est évidemment... String. (voir l'explorateur d'objets pour plus de détails, comme précisé plus haut)
 
Quelques fonctions?
String(), Space()
InStr(), Mid()
Len()
Left(), Right()
 
Avec ça tu sais atteindre ton but ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed