| ||||||||
Grand Maître astucien ![]() | Bonjour, J'essaie d'écrire sur la console à l'intérieur d'un programme en VB qui lui même est prévu pour s'exécuter dans ce mode. Après quelques recherches sur la toile je suis arrivé au code suivant :
Après compilation je lance ce programme en mode console et rien ne se passe ! En exécution pas à pas dans l'éditeur de VB j'ai nb_car = 0 et nb_dep = 259 mais c'est peut-être normal puisque là je ne suis plus dans la console. Je suppose que j'ai du sauter quelques étapes mais lesquelles ? Merci d'avance pour vos conseils. FG
| |||||||
Publicité | ||||||||
Astucien | Bonjour, Après une rapide recherceh google, voici un tuto: http://www.tek-tips.com/faqs.cfm?fid=5647 un autre: http://www.xaprb.com/blog/2005/10/14/how-to-create-a-vb6-console-program/ un troisième: http://www.nirsoft.net/vb/console_application_visual_basic.html
Dans tous les cas, un étape importante est de passer un paramètre spécial au linker. Modifié par breizhbugs le 02/01/2013 13:21 | |||||||
![]() ![]() | Merci pour cette réponse. J'avais déjà vu le premier article que tu mentionnes mais j'espérais m'en tirer sans avoir à passer par le lieur. Je vais donc me lancer dans cette voie là mais ça risque de me prendre du temps car je ne maîtrise pas du tout ce genre d'opération en environnement micro. FG | |||||||
![]() ![]() | Je viens de tester et ça fonctionne. J'avais tout simplement peur de passer par la phase linkedit. Il me reste à regarder comment ça se comporte dans les différents mode de lancement du programme où je souhaites insérer cette séquence : script, Démarrer/Exécuter et glisser/déposer. Si je peux me permettre de te poser une autre question ? Je souhaites aussi donner la possibilité de contrôler la bonne fin via Errlevel. La seule manière que j'ai trouvée est de passer par la fonction ExitProcess mais je trouve ça un peu violent. N'y a-t-il pas un moyen de positionner ce code retour sans provoquer une fin aussi brutale ? Merci d'avance. FG
| |||||||
Astucien | Aucune idée, ne programme pas en Vb. Mais j'imagine que non, sinon les gens l'auraient indiqués. (as-tu essayer de changer le prototype de main pour lui faire retourner une valeur?) Pour que ce soit le moins dégeulasse possible, fait en sorte que ce soit la dernière instruction de la fonction main tout simplement. | |||||||
![]() ![]() | breizhbugs a écrit : Prototype ???
C'est bien ce que j'ai fait. Mais j'ai bien peur que tout ça ne me serve à rien car je n'ai pas trouvé le moyen d'envoyer de l'ASCII sur la console. VB ne fait pas automatiquement la transco et envoie bêtement son ANSI. Conséquence, les caractères munis de signes diacritiques apparaissent comme des hiéroglyphes. Je n'ai pas compris grand chose aux rares articles qui traitent de ce sujet. FG | |||||||
Astucien |
de
à
Bon comme je ne programme pas en vb, je ne sais pas si cela marcherait...
| |||||||
![]() ![]() | Sous VB je dois obligatoirement avoir un Sub Main. De toute façon c'&atit surtout une question que le me posais pour ma gouverne personnelle. J'ai quand même réussi à afficher ce que je voulais, c'est à dire des é. En ASCII é c'est 130 et 130 en ANSI c'est une virgule. Mais il y en a deux (44 et 130) et quand on saisit une virgule c'est le 44. Donc il fallait réussir à insérer le 130 dans le texte du message et pour ça le mettre sous la forme chr(130). Avec mon exemple, pour avoir gégé sur la console il faut coder : msg = "g" & chr(130) & g & chr(130) Le but de tout ça était de donner la parole à mes programmes de conversion ascii/ansi qui jusqu'ici étaient totalement muets. Les nouvelles versions sont maintenant en ligne (ici). Le seul dommage collatéral est l'apparition fugitive d'une console quand le programme n'est pas exécuté en ligne de commande. C'est la conséquence du linkedit avec la console. Ce n'est absolument pas gênant. Merci pour ta collaboration. FG | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|
Sujets relatifs | ||||||||||||
|