VB6 Qu'est ce qui remplace le *.*

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 25 avril 2006 à 15:29
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 - 26 avril 2006 à 10:51
Bonjour à tous... j'ai un blanc de mémoire...

Je ne me souvient plus du caractère utilisé dans VB6 pour remplacer le * (dans l'ancien dos)

En d'autres mots, j'ai des fichiers qui se nomme 01__343_02.htm

Je veux demander d'ouvrir le fichier qui se nomme 01__343 avec les n'importe quel caractère qui suit le 343 et qui a un extension .htm.

Car dans les nombreux fichiers que j'ai dans mon répertoire, j'ai des fichiers qui comment toute pareil (01__) mais qui ne se termaine pas pareil (dans l'exemple ici, _02) et se sont tous des .htm

Donc qu'est ce que je mets à la place de l'étoile (*) dans le code suivant ????

Fichier1 = ShellExecute(Me.hWnd, "open", "m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" & "01__" & strIndex & "*.htm", vbNullString, "", SW_SHOWNORMAL)

merci d'avance

17 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 avril 2006 à 21:12
ce fameux dir ...


Private Sub cmdIndex_Click()
'...
strIndex = txtIndex

Const sPath As String = "m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny" & _
"INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8"

Dim sMyFile As String
sMyFile = Dir (sPath & "01__" & strIndex & "*.htm")

If sMyFile <> vbNullString Then
Fichier1 = ShellExecute(Me.hWnd, "open", sPath & sMyFile, vbNullString, "", SW_SHOWNORMAL)
End If
End Sub


<small> Coloration
syntaxique automatique [AFCK]</small>
3
cs_emma16 Messages postés 61 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 23 juin 2006
25 avril 2006 à 16:58
il me semble que j'ai vu des exemple dans msdn. je croi sque pour ton fichier qui commence par 01__343 il faut mettre # apres le 343
va voir dans msdn...

@+
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
25 avril 2006 à 17:16
Bonjour,

Je ne comprends pas ce que tu veux faire ....
Que se passe t'il si tu as plusieurs fichiers qui correspondent à tes critères ?
sinon, ton critère avec l'étoile doit fonctionner, mais fais plutôt une boucle sur une fonction Dir....

A+

Alain 31
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
25 avril 2006 à 17:19
Salut....

J'aimerais bien aller sur MSDN mais je ne sai spas quoi chercher.....

Je ne sais pas quoi écrire dans ma recherche.... Comment se nomme le symbole # pour que j epuisse avec des exemple... ????

C'est pour cela que j'ai pensé à écrir sur le forum....

À moins que quelqu'un puisse me dire comment se nomme le type de fonction que j'ai besoin...

Merci d'avance
0

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

Posez votre question
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
25 avril 2006 à 17:49
Salut...

C'est un peu bisare les fichiers que j'ai.... ils viennent du gouvernement c'est peut-être pour cela lol..:P

J'ai qu'un fichier qui se nomme 01__10A-1_02.htm

Je vais écrire dans un textbox 10A-1 et le fichier (01__10A-1_02.htm) doit s'ouvrir.

Sauf que la terminaison de mes fichiers ne se nomme pas tous _02 j'en ai qui se nomme _04 ou _06 mais j'ai jamais un doublon pour la première partie du fichier (01__10A-1).

Donc mon prochain fichier est par exemple 01__10A-2_05.htm

Donc si je ferais une recherche en DOS pour ouvrir le fichier 01__10A-1_02.htm je dirais 01__10A-1*
.htm

Comment je fais pour coder cela ????

merci d'avance

En espérant que j'ai été un peu plus clair...
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
25 avril 2006 à 18:25
Je ne comprends pas pourquoi çà ne marche pas ....

Si tu fais :
'_____________________
strIndex="343_"
strATROUVER = "m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" & "01__" & strIndex & "*.htm"
sFile = Dir(strATROUVER) 'recherche le premier fichier qui correspond
Do While sFile <> "" 's'il en trouve
shell(sFile) 'lance le
sfile = Dir 'cherche le suivant
Loop
'_____________________
Tu dois pouvoir lancer toutes les pages html recherchées ...

Cordialement,

Alain 31
0
cs_emma16 Messages postés 61 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 23 juin 2006
25 avril 2006 à 18:35
# = dièse
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 avril 2006 à 18:50
salut,
tu confonds apparemment le listing et l'ouverture.
il faut d'abord lister (dir) avec *, sauver les chemins en tableau, puis ouvrir avec les chemins complets trouvés.
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
25 avril 2006 à 19:02
Ben pourquoi les sauver dans un tableau ?
On les ouvre au fur et à mesure et ya pas de confusion pour l'étoile qui ne sert que de pattern à la recherche effectuée par le dir.

(non mais....)

Alain 31
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 avril 2006 à 19:31
les ouvrir après ou en tableau, peu importe...
et dir, je parle de la fonction, pas de l'objet
0
JB76000 Messages postés 135 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 14 février 2013
25 avril 2006 à 19:57
Essaie 01__10A-1???????.htm , mets autant de ? que tu en as besoin

Je ne suis pas sûr que ca marche.

Jer
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
25 avril 2006 à 20:01
Bon, on s'énerve pour rien : JeffC1977 n'a pas testé ou du moins répondu .....

A+

Alain 31
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
25 avril 2006 à 20:26
Salut... merci à tous.....

et bien je n'ai pas besoin de faire de boucle dans mon code... J'ai programmer autre chose du genre que si le fichier n'existe pas alors un message est afficher dans un label

If Fichier1 > 32 Then GoTo .........

Mais je vais essayer le ?????? ca devrait marcher....

je vous redonne des nouvelles...

merci
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
25 avril 2006 à 20:58
Rebonjour... ou plutôt bonsoir

J'ai fais deux test à vrai dire...

le premier j'ai essayé les points d'intérogatuons.... Il ne trouve pas le fichier...
Voicie le code que j'ai utilisé

Private Sub cmdIndex_Click()


strIndex = txtIndex


Fichier1 = ShellExecute(Me.hWnd, "open", _
"m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" _
& "01__" & strIndex & "????.htm", vbNullString, "", SW_SHOWNORMAL)
End Sub

Sauf si j'enlève tout ce qui est entre guillemet ("01__" et "????.htm") et bien le fichier s'ouvre (bien sur j'inscrit le nom du fichier au complet)
Voici le code que j'ai modifié pour le test

Private Sub cmdIndex_Click()


strIndex = txtIndex


Fichier1 = ShellExecute(Me.hWnd, "open", _
"m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" _
& strIndex, vbNullString, "", SW_SHOWNORMAL)
End Sub
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
25 avril 2006 à 22:26
salut PCPT

Merci pour le code avec le Dir....

Je ne savais pas comment le coder... mais le bug c'est que j'utilise ce type de code (sans utiliser le Dir) dans mon programme et ca fonctionne très bien....

Mais je vais prendre ton code car on dirais que ce ne fonctionne pas toujours ce shellexecute....

Est-ce que tu peux me dire pourquoi ca fonctionne si j'utilise une ligne de code comme cela
Fichier1 = ShellExecute(Me.hWnd, "open", _
"m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" _
& "01__" & strIndex & "*.htm", vbNullString, "", SW_SHOWNORMAL)

Mais pourquoi si je rajoute l'étoile ca ne fonctionne pas ???? et s'il n'y a pas d'étoile, c'est-à-dire je rentre le nom entier du fichier ca fonctionne très bien ????

J'attends de tes nouvelles à savoir si peux m'éclairer un peux... merci d'avance...

P.S. je vais essayer ton code demain et je viendrai cliquer sur "Réponse acceptée !"

merci encore
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 avril 2006 à 22:32
shellexecute te renvoie une valeur.
que contient strIndex ?
peut-être que si au final ton fichier est "01__4040.htm", fichier non existant, shell plante.
d'où une vérification d'existance à faire avant (pour avoir le fichier correct avec certitude)
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
26 avril 2006 à 10:51
Mais c'est pas possible !!!
Qu'est-ce que vous racontez ????
Si on ne fournit pas le nom complet du fichier au ShellExecute, le fichier ne sera pas trouvé et donc ne sera pas lancé.
Le but de la commande Dir, c'est de trouver si un ou plusieurs fichiers correspondent aux critères (avec * ou ?).

Donc, pas question de lancer un shellExecute () avec un dfichier avec * ou ?, il faut le nom exact.

Donc le code de PCPT doit marcher.

Décidément, y'en a qui sont tétus.....

Cordialement,

Alain 31
0
Rejoignez-nous