Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
943 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBScript] [RESOLU] fonction SPLIT

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBScript] [RESOLU] fonction SPLIT

n°1313074
anthony000​0
Posté le 24-02-2006 à 15:20:55  profilanswer
 

bonjour !
 
j'ai utilisé cette fonction pour définir l'extension pour un fichier saisie dans une inputbox.
je lui ai donc dis de faire la séparation à chaque point, puisque normalement un fichier ne comporte que le point juste avant son extension.
 
malheureusement, il y a quand même des fichiers avec plusieurs points, et meme si je peux en séparer 2 et joindre les 2 premiers bout pour n'avoir que l'extension, ça marche dans ce cas-la seuleument s'il y a 2 points en tout.
 
j'ai regardé un peu la fonction split, mais je n'ai pas réussi a trouver si elle permet de splitter le dernier caractère choisi.
 
car dans ce cas, il n'y aurait aucun probleme : meme s'il y a 50 points, l'extension serait définie par le tout dernier.
 
j'ai besoin de faire comme ça par rapport à une recherche de fichier en WMI, qui demande le "filename" et "extension", j'ai cherché s'il existe un moyen de prendre un nom de fichier en entier dans une seule variable WMI, mais si je cherche test.txt ou test, basé sur le "filename", le résultat ne me convient pas (il cherche test.txt et me trouve test.txt.ink donc pour lui je n'avais pas indiqué l'extension - ou bien cherche tout les fichier ayant test dans leur nom)
 
merci encore d'avance ! ^_^


Message édité par anthony0000 le 27-02-2006 à 15:16:43
mood
Publicité
Posté le 24-02-2006 à 15:20:55  profilanswer
 

n°1313106
tegu
Posté le 24-02-2006 à 15:45:36  profilanswer
 

Regarde la fonction InStrRev() qui recherche un caractère dans une chaine en scannant de la fin vers le début.
Cela renverra la position de ton dernier point et à coup de Left$() et Right$(), ça sera un jeu d'enfant de séparer le nom de fichier de son extension
Attention à bien prévoir le cas ou aucun point n'existe dans la chaine.

n°1313132
pilosite
Posté le 24-02-2006 à 16:27:49  profilanswer
 

c'est ptet très bête, mais tes extensions sont elles forcément de 3 caractères ?
 
si c'est le cas suffit de faire :
 

Code :
  1. mavar = "test.test.test.test.com"
  2. extension = right(mavar,3)
  3. wscript.echo extension


 
si tes extensions sont variables (pas de bol), j'ai un truc


Message édité par pilosite le 24-02-2006 à 16:33:06

---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
n°1313134
pilosite
Posté le 24-02-2006 à 16:31:13  profilanswer
 

oups...
 
la voici :
 

Code :
  1. var1 = "test.com"
  2. var2 = "test.test.com"
  3. var3 = "test.test.test.coeeezm"
  4. ' on split une des variables (la 3ème est bien :) )
  5. mysplit = split(var3,"." )
  6. ' je chope le UBound de mon tableau (il te donne le dernier split en fait)
  7. dernierpoint = UBound(mysplit)
  8. ' donc l'extension est forcément le dernier split)
  9. extension = mysplit(dernierpoint)
  10. ' et donc extension, c'est tout bon!
  11. wscript.echo extension


Message édité par pilosite le 24-02-2006 à 16:32:53

---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
n°1314093
anthony000​0
Posté le 27-02-2006 à 10:40:20  profilanswer
 

Bonjour,  
 
je vous remercie pour vos réponses,
 
d'après ce que m'a dit tegu, j'ai réussi à faire ce que je voulais, à savoir séparer l'extension d'un nom de fichier, tout en gardant le nom sans l'extension.
mais il est vrai que ça ne marche qu'avec un extension de 3 caractères, ni plus ni moins.
 
j'ai donc ensuite essayé la soluce de pilosite, ça fonctionne a merveille pour les extensions.
mais par contre je n'arrive plus à prendre le nom du fichier sans l'extension
je pourrais faire un join de chaque morceau trouvé sans le dernier, mais la encore il faudrait que je connaisse avant le nombre de morceaux.
 
je m'y replonge

n°1314107
tegu
Posté le 27-02-2006 à 10:46:43  profilanswer
 

Je suis désolé anthony000, mais tu racontes n'importe quoi.
Ma solution fonctionne quelque soit la longueur de l'extension !


Message édité par tegu le 27-02-2006 à 10:46:56
n°1314142
anthony000​0
Posté le 27-02-2006 à 11:11:21  profilanswer
 

je pense que ça doit être de la façon dont je l'ai fait qui fait que ça ne marche qu'avec une extension de 3 caractères ^_^

n°1314406
anthony000​0
Posté le 27-02-2006 à 15:16:27  profilanswer
 

j'ai réussi, ça fonctionne normalement maintenant
 
merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBScript] [RESOLU] fonction SPLIT

 

Sujets relatifs
[JSP] [résolu] cookie, plusieurs valeurs ?[RESOLU]pb d'affichage dans IE avec diaporama en swf
[resolu]comment ecrire dans un fichier,[Résolu] MsSql : WHERE 1 ???
[résolu] limitation de droitsfonction "penner avec flash8 "
[VBScript] [RESOLU] inputbox[VBScript] Fonctions avec Excel
[résolu] Installation LDAP marche pas avec IIS malgré les DLL copiées 
Plus de sujets relatifs à : [VBScript] [RESOLU] fonction SPLIT


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR