Bonjour ! J'essaie de résoudre le problème suivant.
Soit une application console, Upper.exe, qui renvoie en majuscules tout ce qu'elle reçoit.
Soit une deuxième application, UpperInterface.exe, qui sera l'application effectivement utilisée par... l'utilisateur, et qui devra se comporter extérieurement comme Upper.exe, après l'avoir lancé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 program Upper; uses SysUtils; var s: string; begin while not EOF do begin ReadLn(s); if s = 'quit' then Break else WriteLn(UpperCase(s)); end; end.
J'ai un code basé sur l'API Windows qui fait presque cela, sauf qu'il reste bloqué. Si je lance UpperInterface.exe et que je saisis quelque chose dans la console. Rien ne se passe. C'est lorsque j'appuie sur Ctrl+Z puis entrée que je vois apparaître la "réponse" de Upper.exe.
Qu'est-ce que je dois faire ? Mettre le ReadLn dans un thread aussi ? Utiliser WaitForSingleObject, PeekNamedPipe, PeekConsoleInput... Je me perds dans tout ça.
J'espère que j'ai été clair.Ci-joint le code des deux programmes.Voir plus loin un exemple qui fonctionne.
Partager