KSauzeRK
Messages postés4Date d'inscriptionmardi 16 avril 2002StatutMembreDernière intervention17 avril 2002
-
17 avril 2002 à 14:13
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 2009
-
18 avril 2002 à 08:57
Bonjour,
Je n'arrive pas a trouver quelle méthode/fonction VB me permet d'écrire tout simplement sur la sortie standard. Le programme que j'écris ne comportera pas d'interface graphique, et sera lancé a partir d'une console DOS, et j'aimerais écrire des informations dans la console. Apparement la méthode Debug.Print écrit uniquement dans la fenêtre exécution de l'environnement de développement, pas sur la sortie standard...
Toute aide est appréciée...
cs_Dede
Messages postés61Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention24 juillet 2006 17 avril 2002 à 16:32
-------------------------------
Réponse au message :
-------------------------------
Bonjour,
Je n'arrive pas a trouver quelle méthode/fonction VB me permet d'écrire tout simplement sur la sortie standard. Le programme que j'écris ne comportera pas d'interface graphique, et sera lancé a partir d'une console DOS, et j'aimerais écrire des informations dans la console. Apparement la méthode Debug.Print écrit uniquement dans la fenêtre exécution de l'environnement de développement, pas sur la sortie standard...
Toute aide est appréciée...
cs_Dede
Messages postés61Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention24 juillet 2006 17 avril 2002 à 16:37
-------------------------------
Réponse au message :
-------------------------------
Bonjour,
Je n'arrive pas a trouver quelle méthode/fonction VB me permet d'écrire tout simplement sur la sortie standard. Le programme que j'écris ne comportera pas d'interface graphique, et sera lancé a partir d'une console DOS, et j'aimerais écrire des informations dans la console. Apparement la méthode Debug.Print écrit uniquement dans la fenêtre exécution de l'environnement de développement, pas sur la sortie standard...
Toute aide est appréciée...
A mon humble avis, une console est connectée par liaison série, il faudrait donc envoyer tes écritures sur la série. Evidement, il faudra paramétrer la console (récepteur) et la liaison PC en cocordance. Puis utiliser Mscom control.
Bonne chance :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
KSauzeRK
Messages postés4Date d'inscriptionmardi 16 avril 2002StatutMembreDernière intervention17 avril 2002 17 avril 2002 à 17:19
Salut,
Merci pour tes réponses, j'ai été voir le code sur le lien que tu as indiqué, mais je ne sais pas si je peux en utiliser qu'une partie, sans créer la console entièrement comme il le fait dans son code...j'ai fais un essai avec juste ce code :
Public Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, ByVal lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
Public Const STD_OUTPUT_HANDLE = -11&
Private hConsoleOut As Long 'The console's output handle
Public Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Sub Main()
Dim l As Long
hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE)
l = WriteConsole(hConsoleOut, "hzo,;sezdaz", 11, vbNull, vbNull)
End Sub
Ca n'affiche rien, j'imagine que c'est a cause du handle qui ne correspond pas, je ne sais pas comment récupérer le handle de la fenêtre DOS en cours.
Merci pour vos aides en tout cas, je pensais juste qu'il existait une méthode VB qui pouvait afficher directement sur la sortie standard...
cs_Dede
Messages postés61Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention24 juillet 2006 17 avril 2002 à 17:32
-------------------------------
Réponse au message :
-------------------------------
euh...j'ai pas tout compris a ta réponse pour être honnête...si tu peux développer...sinon, merci d'avoir pris le temps de répondre en tout cas :)
-------------------------------
Réponse au message :
-------------------------------
Bonjour,
Je n'arrive pas a trouver quelle méthode/fonction VB me permet d'écrire tout simplement sur la sortie standard. Le programme que j'écris ne comportera pas d'interface graphique, et sera lancé a partir d'une console DOS, et j'aimerais écrire des informations dans la console. Apparement la méthode Debug.Print écrit uniquement dans la fenêtre exécution de l'environnement de développement, pas sur la sortie standard...
Toute aide est appréciée...
A mon humble avis, une console est connectée par liaison série, il faudrait donc envoyer tes écritures sur la série. Evidement, il faudra paramétrer la console (récepteur) et la liaison PC en cocordance. Puis utiliser Mscom control.
Bonne chance :-)
Difficile de répondre en quelques lignes à un sujet aussi vaste que les liaisons série.
La première chose à savoir, c'est si la console dispose d'une prise série (en principe, c'est le cas des consoles). Si c'est le cas, il faut trouver (dans la doc par exemple), le moyen de régler (ou d'obtenir les les réglages actuels) de la dite console.
Dans ta feuille VB, il faut charger le contrôle "Microsoft commcontrol 6.0" (ou équivalent suivant la version VB). Il faut alors placer le contrôle sur la feuille et de là régler les paramètres série en concordance avec ta console.
Pour la programmation elle même, il te faudra entrer dans l'aide Vb et trouver des exemples.
Voila, en espérant que cela va t'aider.
Dede :-)
KSauzeRK
Messages postés4Date d'inscriptionmardi 16 avril 2002StatutMembreDernière intervention17 avril 2002 17 avril 2002 à 17:51
ok je comprends mieux...je me suis mal exprimé, il ne s'agit pas d'une console externe reliée en réseau par un cable série, mais d'une bête boite DOS sous Win NT dans laquelle je veux écrire...désolé pour la confusion
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 18 avril 2002 à 08:57
Salut,
Il te manque l'initialisation de la console (AllocConsole).
Aussi, il faudra libérer la console après son utilisation avec FreeConsole (à mettre qque part quand ton programme se termine).
Donc n'oublie pas déclare ces API's ainsi que toutes les constantes nécessaires.
Aussi, j'ai remarqué que lorsque l'on ferme la console avec la croix (en haut à droite), le programme VB plante. La seule solution pour éviter ce problème est d'inhiber la croix via API.