J'essaye de faire un programme qui prend des données textuelles sur l'entrée standard, fait un traitement dessus, puis recrache le résultat sur la sortie standard.
Une version simplifiée du programme donnerais quelque chose du genre :
Code : Tout sélectionner
If OpenConsole("", )
Define Text$ = Input()
While Text$ <> #PB_Input_Eof
Text$ = UCase(Text$)
PrintN(Text$)
Text$ = Input()
Wend
EndIf
En revanche, si j'essaye de relier l'entrée du programme à la sortie d'un autre via un pipe ça fait juste n'importe quoi.
Pour tester j'utilise la commande suivante :
Code : Tout sélectionner
ping 127.0.0.1 | monprogramme.exe
Code : Tout sélectionner
Envoi d'une requête 'Ping' 127.0.0.1 avec 32 octets de données :
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Statistiques Ping pour 127.0.0.1:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms
Code : Tout sélectionner
??????????????┼????????´????????????????????Q>????´????????????????????????´????????????????????
????´????????????????????????´????????????????????????????┼??????????????????????%??????????????
??????????????????┼┼??????????????????????
Note :
J'ai essayé de combiner ReadConsoleData(), PeekS() et PokeS() de différentes façons, je n'arrive jamais à avoir un résultat qui conserve tous les caractères.