Page 1 sur 1

option multiple dans Select-Case

Publié : lun. 06/sept./2010 16:19
par Parole De JOJO

Code : Tout sélectionner

Select  ext
Case "mp3","wma","m4a","ogg","aac"
si j'ai plusieurs option, dans l'exemple ce sont des exntencions de fichiers audio, mais je ne les connais pas et c'est l'utilisateur qui va les choisir

Code : Tout sélectionner

opt.s=MessageRequester("Test","entrez les extencions requises, separees par la virgule")
donc en fait je voudrais faire ca :

Code : Tout sélectionner

;opt.s=MessageRequester("Test","entrez les extensions requises, separees par la virgule")
 opt.s="mp3,wma,m4a,ogg,aac"

Select  ext
Case opt
mais ca ne marche pas
evidement la raison est que la variable opt est egale a "mp3,wma,m4a,ogg,aac", alors que pour le parametre de Case il faut : "mp3","wma","m4a","ogg","aac"
mais le probleme est que je ne sais pas combien d'extensions l'utilisateur va utiliser

bref, je me suis embrouille
qqn a une idee?

Re: option multiple dans Select-Case

Publié : lun. 06/sept./2010 16:58
par nico
Moi, ce que je ne comprend pas, c'est pourquoi tu fais un select si c'est pour tous les traiter à la fois?

Re: option multiple dans Select-Case

Publié : lun. 06/sept./2010 17:11
par Parole De JOJO
mais non, le prog analyse un repertoire, et si il y trouve des fichiers comportant l'extension requise il les traite.
donc je fais un select pour eliminer toute les autres extensions

Re: option multiple dans Select-Case

Publié : lun. 06/sept./2010 17:38
par MLD
Salut parole de jojo

un truc comme ça

Code : Tout sélectionner

opt.s = "mp3,wma,m4a,ogg,aac"

opt2.s = Chr(34)
For x = 1 To Len(opt.s) 
If Mid(opt.s,x,1) = ","
 opt2.s = opt2.s + Chr(34)
EndIf 
opt2.s = opt2.s + Mid(opt.s,x,1)
If Mid(opt2.s,Len(opt2.s),1) = ","
 opt2.s = opt2.s + Chr(34)
EndIf 
Next
opt2.s = opt2.s + Chr(34)
Debug  opt2.s
Fait un peu marcher ta tête :mrgreen: ça m'a demandé 10mm :D

Re: option multiple dans Select-Case

Publié : lun. 06/sept./2010 17:43
par Ar-S
Tout dépend de la façon dont l'utilisateur va choisir ces extensions. Par inputrequester ?, via des "cases" à cocher ? via une liste ?
C'est la façon dont tu va stockées ces données qui est importantes.

Re: option multiple dans Select-Case

Publié : lun. 06/sept./2010 17:46
par Parole De JOJO
Pas bete ca
bizarre que j'y ais pas pense...


merci bcp

Re: option multiple dans Select-Case

Publié : mar. 07/sept./2010 10:51
par Fred
tu peux utiliser une boucle avec StringField() (code non testé):

Code : Tout sélectionner

allExtensions$ = "mp3,wav,ogg"
Repeat
  extension$ = StringField$(allExtensions$, index, ",")
  index+1
  If extension$
    Debug extension$
  EndIf
Until extension$ = ""
Sinon, si t'es sur que tes extensions font que 3 chars, tu peux utiliser FindString().

Re: option multiple dans Select-Case

Publié : mar. 07/sept./2010 14:47
par Parole De JOJO
merci
j'ai pas le temps mainteant, mon petit pleure...
je verrais plus tard

Re: option multiple dans Select-Case

Publié : dim. 19/sept./2010 17:45
par Parole De JOJO
Incroyable mais vrai, je viens seulement de m'assoir pour continuer mon project

merci fred de t'etre derange, mais il n'existe pas de fonction StringField
qu'est ce que tu voulais dire par cela?

Re: option multiple dans Select-Case

Publié : dim. 19/sept./2010 18:02
par Ar-S
Comment ça il n'existe pas de stringfield ?
Tu as la notice en chinois ?
Resultat$ = StringField(Chaine$, Index, Delimiteur$)
Quelle version de PB utilises tu ?

Re: option multiple dans Select-Case

Publié : dim. 19/sept./2010 20:11
par Parole De JOJO
jutilise la version 4.50
evidement je remarque maintenant qu'il y a une commande pareille. mon erreur etait de laisser le $ a la fin. qu'est ce qu'il faisait la bas lui?

merci en tout cas