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

Signaler
Messages postés
2
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
30 mai 2011
-
Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
25 janvier 2020
-
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

Messages postés
250
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
2 décembre 2019
5
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
Messages postés
2
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
30 mai 2011

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 ;)
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
25 janvier 2020
35
Salut,

non c'est le "|" qui manquait


[hr]@+Cirec
[hr]
Messages postés
250
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
2 décembre 2019
5
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
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
25 janvier 2020
35
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]