[OpenDialog] Filtrer sur les noms de fichiers

Résolu
gjh Messages postés 2 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 30 mai 2011 - 30 mai 2011 à 11:50
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 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.

5 réponses

cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
30 mai 2011 à 12:11
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
3
gjh Messages postés 2 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 30 mai 2011
30 mai 2011 à 12:17
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 ;)
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
30 mai 2011 à 12:21
Salut,

non c'est le "|" qui manquait


[hr]@+Cirec
[hr]
0
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
30 mai 2011 à 13:04
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
30 mai 2011 à 13:27
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]
0
Rejoignez-nous