Я пытаюсь сделать своего рода отображение в реальном времени для моего проекта, который работает как приложение CLI для PHP, и у меня возникли трудности с очисткой консоли и бывает.PHP CLI для Windows и «статистика в реальном времени gui»
По сути, моя конечная цель что-то вроде этого:
---------------------------------------------------------------
| [ _ ] [ [] ] [ X ] |
---------------------------------------------------------------
| Lag: 120 ms Foo: 1240 bar Users: 240,000 |
| Some stat: 12434 things Status: connected Cake: nominal |
| ------------------------- |
| Some form of console output here, buffered so I can clear |
| the screen with no worries and it will display nicely to |
| the end user. A couple of lines of stats, and this output |
| buffer will suffice, no need for any interactivity. Keeping |
| the positions of the stats and output static increase |
| readability since I can just check at a glance, and keep my |
| output constantly refreshing instead of every few seconds. |
---------------------------------------------------------------
, который будет обновлять немерцающим и не вызвать фактический буфер командной строки для прокрутки или увеличить количество строк в буфере за вертикальную высоту ,
Я протестировал \r
на небольшой фрагмент текста, и он действительно мог бы перезаписать его без мерцания. Однако, если этот бит текста был больше одной строки (который, я считаю, 80 символов, исправьте меня, если я ошибаюсь), то он не перезаписывал всю строку, даже если эта строка была разбита на размер окна, а чем на \n
или \n\r
. И поэтому я отказался от этого подхода.
Я затем обратился к Ansi Escape Codes и ncurses, только чтобы понять, что нет, они фактически не применяются к командной строке на Windows 7, как это применяет PHP.
Как добиться желаемого эффекта в Windows 7 без использования альтернативной командной строки или установки каких-либо подключаемых модулей?