[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
3832
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
17 février 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.
A voir également:

5 réponses

cs_yanb
Messages postés
267
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
20 mai 2022
13
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
3832
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
17 février 2022
48
30 mai 2011 à 12:21
Salut,

non c'est le "|" qui manquait


[hr]@+Cirec
[hr]
0
cs_yanb
Messages postés
267
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
20 mai 2022
13
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
3832
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
17 février 2022
48
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