probleme EXTENSION
probleme EXTENSION
j'utilise la fonction:
If ExamineDirectory(0, Path$, "*.*")
enfin ça pourrait bien être autre chose mais bon...
si je met : "*.jpg" il me test les jpg
si je met :"*.bmp" il me test les bmp
j'ai regardé dans l'aide
mais je n'arrive pas à lui demandé de faire genre "*.bmp"+"*.jpg"
pour avoir les deux....
il doit s'agir de la manière dont on gère le paramètre de filtre
j'ai bien essayé des trucs mais il aime pas quand j'improvise!!!
If ExamineDirectory(0, Path$, "*.*")
enfin ça pourrait bien être autre chose mais bon...
si je met : "*.jpg" il me test les jpg
si je met :"*.bmp" il me test les bmp
j'ai regardé dans l'aide
mais je n'arrive pas à lui demandé de faire genre "*.bmp"+"*.jpg"
pour avoir les deux....
il doit s'agir de la manière dont on gère le paramètre de filtre
j'ai bien essayé des trucs mais il aime pas quand j'improvise!!!
c'est pas ça merci quand meme
j'avais essayé ça mais a priori ça ne marche pas
pour info ma partie de prog concerné c'est:
;*************************
;*** compte fichiers ****
;*************************
compteur=0
Path$ ="C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
If ExamineDirectory(0, Path$, "*.*") ;veut jpg et bmp et pas tous!!!!
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; REPERTOIRE ET NON FICHIER!
FileName$ = "NON-FICHIER"
EndIf
If FileName$ <> "NON-FICHIER"
compteur=compteur+1
EndIf
EndIf
Until FileType = 0
Else
MessageRequester("Erreur","impossible de créer la liste"+Chr(10)+"veuillez reconfigurer les paramètres...")
EndIf
;
;
End
pour info ma partie de prog concerné c'est:
;*************************
;*** compte fichiers ****
;*************************
compteur=0
Path$ ="C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
If ExamineDirectory(0, Path$, "*.*") ;veut jpg et bmp et pas tous!!!!
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; REPERTOIRE ET NON FICHIER!
FileName$ = "NON-FICHIER"
EndIf
If FileName$ <> "NON-FICHIER"
compteur=compteur+1
EndIf
EndIf
Until FileType = 0
Else
MessageRequester("Erreur","impossible de créer la liste"+Chr(10)+"veuillez reconfigurer les paramètres...")
EndIf
;
;
End
Je n'ai jamais réussi non plus à passer deux extensions à ExamineDirectory()
Alors je fais comme ça:
Alors je fais comme ça:
Code : Tout sélectionner
FileName$ = DirectoryEntryName() ; <-- déjà dans ton code
;***************************************
If FileType = 1 And (GetExtensionPart(FileName$)="jpg" Or GetExtensionPart(FileName$)="bmp")
Debug FileName$
EndIf
;***************************************
; <-- retour à ton code
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
Avec des LCase() et c'est parfait Chris !!!
Oué je crois pas qu'il y ait d'autres possibilités, c'est dommage. Une suggestion pour la v4 pe être...

Oué je crois pas qu'il y ait d'autres possibilités, c'est dommage. Une suggestion pour la v4 pe être...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
ben je doit vraiment etre trop con mais ton truc il a l'air super
j'ai tenté de l'adapter de plein de maineres differentes
mais quoi que je fasse mon programme ne fonctionne plus correctement
voici la partie du sous-prog "totale" si jamais tu pouvais m'expliquer...
;*************************
;*** compte fichiers ****
;*************************
compteur=0
Path$ ="C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
If ExamineDirectory(0, Path$, "*.*") ;lit tous les fichiers (sauf dossiers!)
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; REPERTOIRE ET NON FICHIER!
FileName$ = "NON-FICHIER"
EndIf
If FileName$ <> "NON-FICHIER"
compteur=compteur+1
EndIf
EndIf
Until FileType = 0
Else
MessageRequester("Erreur","impossible de créer la liste"+Chr(10)+"veuillez reconfigurer les paramètres...")
EndIf
;
;
;*******************************************
;*** met en memoire les noms de fichiers ***
;*******************************************
Debug compteur
Dim Maliste.s(compteur)
k=0
If ExamineDirectory(0, Path$, "*.*")
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; REPERTOIRE ET NON FICHIER!
FileName$ = "NON-FICHIER"
EndIf
If FileName$ <> "NON-FICHIER"
Maliste(k) =Filename$;c'est la que je voudrais mettre en memoire dans Maliste(0), Maliste(1), Maliste(2)...
;les noms de fichiers je pense que mon Next n'est pas à sa place car toutes les variables comportent
;le dernier nom de la liste
k=k+1
EndIf
EndIf
Until FileType = 0
Else
MessageRequester("Erreur","impossible de créer la liste"+Chr(10)+"veuillez reconfigurer les paramètres...")
EndIf
;*******************
;*******************************************
;*** affiche aléatoirement Maliste(x) ***
;*******************************************
MessageRequester("!!!!!","la liste"+Chr(10)+Maliste(Random(compteur))) ;ça doit pas etre du tout ca
MessageRequester("!!!!!","la liste"+Chr(10)+Maliste(Random(compteur))) ;mais j'ai essayé plein de truc
MessageRequester("!!!!!","la liste"+Chr(10)+Maliste(Random(compteur))) ;alors comment faire?
End
j'ai tenté de l'adapter de plein de maineres differentes
mais quoi que je fasse mon programme ne fonctionne plus correctement
voici la partie du sous-prog "totale" si jamais tu pouvais m'expliquer...
;*************************
;*** compte fichiers ****
;*************************
compteur=0
Path$ ="C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
If ExamineDirectory(0, Path$, "*.*") ;lit tous les fichiers (sauf dossiers!)
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; REPERTOIRE ET NON FICHIER!
FileName$ = "NON-FICHIER"
EndIf
If FileName$ <> "NON-FICHIER"
compteur=compteur+1
EndIf
EndIf
Until FileType = 0
Else
MessageRequester("Erreur","impossible de créer la liste"+Chr(10)+"veuillez reconfigurer les paramètres...")
EndIf
;
;
;*******************************************
;*** met en memoire les noms de fichiers ***
;*******************************************
Debug compteur
Dim Maliste.s(compteur)
k=0
If ExamineDirectory(0, Path$, "*.*")
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; REPERTOIRE ET NON FICHIER!
FileName$ = "NON-FICHIER"
EndIf
If FileName$ <> "NON-FICHIER"
Maliste(k) =Filename$;c'est la que je voudrais mettre en memoire dans Maliste(0), Maliste(1), Maliste(2)...
;les noms de fichiers je pense que mon Next n'est pas à sa place car toutes les variables comportent
;le dernier nom de la liste
k=k+1
EndIf
EndIf
Until FileType = 0
Else
MessageRequester("Erreur","impossible de créer la liste"+Chr(10)+"veuillez reconfigurer les paramètres...")
EndIf
;*******************
;*******************************************
;*** affiche aléatoirement Maliste(x) ***
;*******************************************
MessageRequester("!!!!!","la liste"+Chr(10)+Maliste(Random(compteur))) ;ça doit pas etre du tout ca
MessageRequester("!!!!!","la liste"+Chr(10)+Maliste(Random(compteur))) ;mais j'ai essayé plein de truc
MessageRequester("!!!!!","la liste"+Chr(10)+Maliste(Random(compteur))) ;alors comment faire?
End
est-ce çà que tu veux faire ?
ou çà
Code : Tout sélectionner
Path$ = "c:\windows\"
Exts$ = "bmp,dll,log"
Dim Maliste.s(512)
k=0
If ExamineDirectory(0, Path$, "*.*")
Repeat
Select NextDirectoryEntry()
Case 0
Break
Case 1
FileName$ = DirectoryEntryName()
FileExt$ = LCase(GetExtensionPart(FileName$))
If FileExt$ And FindString(Exts$,FileExt$,1)
Maliste(k) = FileName$
k + 1
EndIf
EndSelect
ForEver
Else
MessageRequester("Erreur","impossible de créer la liste")
EndIf
For i=0 To 3
MessageRequester(Path$,Maliste(Random(k-1)))
Next
Code : Tout sélectionner
Path$ = "c:\windows\"
Exts$ = "bmp,dll,log"
NewList Maliste.s()
If ExamineDirectory(0,Path$,"*.*")
Repeat
Select NextDirectoryEntry()
Case 0: Break
Case 1:
FileName$ = DirectoryEntryName()
FileExt$ = LCase(GetExtensionPart(FileName$))
If FileExt$ And FindString(Exts$,FileExt$,1)
If AddElement(Maliste())
Maliste() = FileName$
EndIf
EndIf
EndSelect
ForEver
EndIf
For i=0 To 3
SelectElement(Maliste(),Random(CountList(Maliste())))
MessageRequester(Path$,Maliste())
Next
Voilà, j'espère que c'est ça que tu veux (j'ai remplacé ton tableau par une liste chaînée) (L'exemple de Flype est nickel, même mieux
)

;*************************
;*** compte fichiers ****
;*************************
Path$ = "C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
NewList Maliste.s()
If ExamineDirectory (0, Path$, "*.*" )
Repeat
FileType = NextDirectoryEntry()
If FileType = 1
FileName$ = DirectoryEntryName ()
ext$= UCase ( GetExtensionPart (fileName$))
If ext$= "JPG" Or ext$= "JPEG" Or ext$= "BMP"
AddElement (Maliste()) : Maliste()=FileName$
EndIf
EndIf
Until FileType = 0
Else
MessageRequester ( "Erreur" , "impossible de créer la liste" + Chr (10)+ "veuillez reconfigurer les paramètres..." )
EndIf
Compteur = CountList (Maliste())
Debug Compteur ; affiche le nombre de fichier trouvé
;*******************************************
;*** affiche aléatoirement Maliste(x) ***
;*******************************************
If Compteur>0
SelectElement (Maliste(), Random (compteur))
MessageRequester ( "!!!!!" , "la liste" + #CRLF$ +Maliste())
EndIf
End
re:merci!!!
bon ben merci à vous deux
c'est exactement ça et ça marche impeccable
je suis content parceque d'habitude mes questions étaients moins pertinentes là j'ai fait pas mal de recherches avant de demander de l'aide
et vous avez tous super sympa...
merci encore pour votre aide!
ps: mon programme va bientôt toucher à son but
je le mettrais à disposition sur le site
je pense que c'est l'idée qui est originale
sa diffusion permettra de remercier tous les purebasiciens qui m'ont aidés
et d'une manière générale tous ceux qui font vivre la programmation
et purebasic qui est réellement un superbe outil.....
j'ai démarrer il y a très (très) longtemps avec un amstrad 6128
je n'aurais jamais osé imaginer qu'un jour nous aurions de tels
outils agréables et relativement simples d'emloi
a très bientôt
c'est exactement ça et ça marche impeccable
je suis content parceque d'habitude mes questions étaients moins pertinentes là j'ai fait pas mal de recherches avant de demander de l'aide
et vous avez tous super sympa...
merci encore pour votre aide!
ps: mon programme va bientôt toucher à son but
je le mettrais à disposition sur le site
je pense que c'est l'idée qui est originale
sa diffusion permettra de remercier tous les purebasiciens qui m'ont aidés
et d'une manière générale tous ceux qui font vivre la programmation
et purebasic qui est réellement un superbe outil.....
j'ai démarrer il y a très (très) longtemps avec un amstrad 6128
je n'aurais jamais osé imaginer qu'un jour nous aurions de tels
outils agréables et relativement simples d'emloi
a très bientôt