[OpenDialog] Filtrer sur les noms de fichiers [Résolu]

Messages postés
2
Date d'inscription
samedi 18 septembre 2004
Dernière intervention
30 mai 2011
- - Dernière réponse : Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 30 mai 2011 à 13:27
Bonjour à toutes et à tous,

Après moultes recherches sur ce forum pour ma question, j'ai d'abord réussi a trouver comment ouvrir un fichier avec ShellExecute. Mais il me manque quelque chose, dans la propriété filter du OpenDialog, je souhaite filtrer sur l'extension, mais aussi sur une partie du nom du fichier.
Je m'explique, je crée des fichiers a un moment dans mon programme, après cette création je demande si l'utilisateur veut les voir (utilisation du OpenDialog) cependant je veux afficher que les fichiers qui viennent juste d'être crées (le nom des fichiers contient une chaine de caractère constante + une suite de chiffres que je stocke dans une stringlist) j'ai essayé comme cela mais cela ne fonctionne pas :
for i := 0 to aFileExported.Count-1 do
      begin
        openDialog.Filter := '*'+aFileExported[i]+'.txt';
      end;


aFileExported est une TStringList qui contient les suites de chiffres propres aux fichier que je viens de créer.

Je voudrais donc qu'il affiche dans mon OpenDialog seulement les fichier nouvellement crées, mais malheureusement il les affiche tous.

Si vous avez des idées ou des précisions sur mon code n'hésitez pas ;)

Cordialement.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
260
Date d'inscription
lundi 27 octobre 2003
Dernière intervention
4 mars 2016
3
Merci
Salut,
var
  S : string;
begin
  S := '';
  for i := 0 to aFileExported.Count -1 do
    S := S + '*'+aFileExported[i]+'.txt;';
  OpenDialog.Filter := 'Filtre|'+ S;
end;

@+yanb

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_yanb
Messages postés
2
Date d'inscription
samedi 18 septembre 2004
Dernière intervention
30 mai 2011
0
Merci
Salut,

Que dire à part, parfait ? réponse rapide, et qui fonctionne

Peux-tu me dire ce qui manquait dans mon code par contre ? est-ce le 'Filtre |' ?


Merci encore ;)
Commenter la réponse de gjh
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
Salut,

non c'est le "|" qui manquait


[hr]@+Cirec
[hr]
Commenter la réponse de Cirec
Messages postés
260
Date d'inscription
lundi 27 octobre 2003
Dernière intervention
4 mars 2016
0
Merci
Salut Cirec,
non pas seulement le "|"
En fait le format est [Nom du filtre,|,Filtre]
Plusieurs Filtre [Nom du filtre1,|,Filtre1,|,Nom du filtre2,|,Filtre2]
Dans son cas il avait un peu près ['*'+aFileExported[i]+'.txt',Rien,Rien],
c'est à dire rien, voir même une erreur interne...
Une séparation de "Multifiltre" dans un filtre ce fais par ";"
Maintenant son filtre est par exemple[Filtre,|,*1.txt;*2.txt;*3.txt]
Voilà en gros l'explication.
@+yanb
Commenter la réponse de cs_yanb
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
oui oui
mais ce que je voulais dire c'est que le plus important dans l'histoire c'est "|" le reste est variable
'Filtre|Fich*.txt'
peut devenir
'Mon Filtre Perso|Fich*.txt'
et même ceci fonctionne
' |Fich*.txt'

mais ça ne changera rien au résultat du Filtre sans "|" le filtre ne fonctionnera pas qu'il soit unique ou multiple.

Mais tu as raison de le préciser

[hr]@+Cirec
[hr]
Commenter la réponse de Cirec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.