Ouverture fichier

Signaler
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
5 mai 2009
-
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
5 mai 2009
-
Bonjour à tous
j'ai développé une application avec Visual Basic 2005 Express, et y ai associé des fichiers avec une certaine extension.
Ces fichiers ne sont en fait que des fichiers texte contenant certaines informations de calculs, ligne par ligne.
La méthode est la suivante : je lance le logiciel, puis ouvre les fichiers (OpenFileDialog, puis lecture d'un fichier texte). Une fois l'ouverture du fichier effectuée, le programme lance la form idoine, avec les champs tous remplis (les informations ont été lues dans le fichier).
J'aimerai en fait une méthode plus rapide et efficace : qu'il suffise de double-cliquer sur le fichier pour lancer la form qui convient. La seule chose que j'arrive à faire, c'est associer mon extension de fichier  à l'exécution simple du .exe
Mais je ne sais pas comment faire pour que le double-clic sur les fichiers lance non seulement l'ouverture de l'exe, mais également le "scan" du fichier et le lancement ensuite de la bonne form.
J'espère ne pas avoir été trop confus dans mes explications.
Si quelqu'un peut m'aider, je lui vouerai une reconnaissance éternelle :-)
Bonne année à tous
Irénée

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Un double-click sur ton fichier va lancer ton executable avec le chemin complet du fichier passé en argument sur la ligne de commande.

C'est comme si, sous la console de Windows, tu tappais tonexecutable.exe nomdetonfichier.ext

Donc dans ton executable, il faut que tu prévois au lancement, de vérifier si tu n'as pas d'arguments sur la ligne de commande. Si tu as un argument, tu vas faire directement le traitement du fichier passé en argument, sinon tu reste en "execution simple"

Regarde du coté de Environment.CommandLine

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
5 mai 2009

Merci beaucoup pour ta réponse claire et efficace. Ca marche nickel.
J'ai juste une dernière petite question (désolé d'abuser...) : en double-cliquant sur un fichier, j'ai maintenant 2 formes --> la forme d'accueil, et la forme de calcul préremplie par lecture du fichier double-cliqué. Par défaut, la form sélectionnée est la forme d'accueil, et je n'arrive pas à mettre au premier plan l'autre forme. J'ai essayé pas mal de choses, fait des recherches sur le sujet, mais rien ne marche. C'est toujours la forme d'accueil qui apparait sur l'écran lors du double-clic, l'autre étant derrière.
Merci d'avance
Bon WE
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Parce que tu affiche la form d'acceuil automatiquement au lancement du logiciel.

A toi de lui dire de se fermer/cacher lorsque tu ouvre l'autre forme, en fait comme lorsque tu ouvre ton fichier en saisisant le nom dans la boite de dialogue.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
5 mai 2009

En fait j'ai essayé mais rien n'y fait, impossible de mettre la forme d'accueil (celle lancée automatiquement par l'exe) en arrière plan ou de la masquer.
Si je double clique sur l'exe, puis que j'ouvre un fichier avec l'extension adéquate avec mon OpenFIleDialog, aucun souci : le fichier est lu, et je fais afficher la forme de calcul préremplie avec un simple Calcul.Show. Et c'est cette dernière qui est au premier plan.
Par contre, quand je double clique directement sur un fichier de calcul, les 2 formes se lancent automatiquement, ce qui est en effet logique. Mais j'ai toujours la forme d'accueil au premier plan, et impossible de faire autrement. Meme en mettant Accueil.Hide ou d'autres choses.
Comme si la forme d'accueil devait forcément etre au premier plan au lancement du programme.
Merci en tout cas pour ton aide
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Le mieux, c'est que tu fasse le traitement de l'ouverture automatique du fichier au même endroit que là ou tu affiche ton OpenFileDialog.
Soit tu as un nom de fichier en argument, à ce moment là, tu le récupère, soit tu n'en as pas, dans ce cas là, tu ouvre l'openfiledialog et tu récupère un nom de fichier.

Dans les 2 cas, une fois le nom récupéré, tu ouvre ta seconde form avec les données du fichier. De cette façon, dans les 2 cas, la seconde form devrait etre ouverte strictement de la même façon et donc s'afficher au premier plan.

Peut-etre as-tu la possibilité de mettre ton projet téléchargeable quelque part que je puisse le regarder.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
5 mai 2009

Aurais tu un mail pour que je puisse t'envoyer dessus un fichier zip ? (100 Ko)
J'ai redéveloppé vite fait quelque chose, en conservant uniquement la programmation concernée par mon probleme. 2 formes  Accueil, et Calcul avec juste le code nécessaire.
Merci bcp de ton aide
[mailto:hokuto@free.fr hokuto@free.fr]