¿Si es necesario hacer a menudo програму para la consola? ¿No tan a menudo, sí? He aquí últimamente solamente me ocupo de esto … Por eso ha hecho la clase (ha hecho en realidad todavía hace muchísimo). А вот я последнее время только этим и занимаюсь… Поэтому сделал класс (на самом деле сделал еще очень давно).
Esta clase permite cumplir tales operaciones simples, como la iluminación del texto, la iluminación бэкграунда de la letra o el texto, la instalación del cursor a la posición necesaria, la elección de la consola para la conclusión (1~8) y la recta граб de las teclas presionadas.
¿<? php class console { const TARGET_OUTPUT = "php://output"; ; const TARGET_STDOUT = "php://stdout"; ; const TARGET_STDERR = "php://stderr"; ; const TARGET_STDIN = "php://stdin"; ; protected static $color = array ( ( ' gray ' => 30, , ' black ' => 30, , ' red ' => 31, , ' green ' => 32, , ' yellow ' => 33, , ' blue ' => 34, , ' magenta ' => 35, , ' cyan ' => 36, , ' white ' => 37, , ' default ' => 39 ); protected static $bgcolor = array ( ( ' gray ' => 40, , ' black ' => 40, , ' red ' => 41, , ' green ' => 42, , ' yellow ' => 43, , ' blue ' => 44, , ' magenta ' => 45, , ' cyan ' => 46, , ' white ' => 47, , ' default ' => 49, , ); protected static $style = array ( ( ' default ' => ' 0 ', , ' bold ' => 1, , ' faint ' => 2, , ' normal ' => 22, , ' italic ' => 3, , ' notitalic ' => 23, , ' underlined ' => 4, , ' doubleunderlined ' => 21, , ' notunderlined ' => 24, , ' blink ' => 5, , ' blinkfast ' => 6, , ' noblink ' => 25, , ' negative ' => 7, , ' positive ' => 27, , ); private $text = ""; ""; //Outputing public function draw ($text = ") $text='') { echo $this-> text. $ text; text.$text; $this-> text = "; = ''; return $this; } //Input public function readNumeric () ) { $stdin = fopen (' php://stdin ', ' r '); ('php://stdin', 'r'); $line = trim (fgets ($stdin)); (fgets($stdin)); fscanf ($stdin, "%d\n", $number); , "%d\n", $number); return $number; } public function readString () ) { $stdin = fopen (' php://stdin ', ' r '); ('php://stdin', 'r'); $line = trim (fgets ($stdin)); (fgets($stdin)); fscanf ($stdin, "%s\n", $string); , "%s\n", $string); return $string; } //Sound public function beep () {echo "\007"; return $this;} ) { echo "\007"; return $this; } public function setSoundHerz ($herz=100) {echo "\033 [10; {$herz}]"; return $this;} $herz=100) { echo "\033[10;{$herz}]"; return $this; } public function setSoundLong ($milliseconds=500) {echo "' 033 [11; {$milliseconds}]"; return $this;} $milliseconds=500) { echo "'033[11;{$milliseconds}]"; return $this; } //Cursor position public function toPos ($row = 1, $column = 1) {echo "\033 [{$row}; {$column} H"; return $this;} $row = 1, $column = 1 ) { echo "\033[{$row};{$column}H"; return $this; } public function cursorUp ($lines=1) {echo "\033 [{$lines} A"; return $this;} $lines=1) { echo "\033[{$lines}A"; return $this; } public function cursorDown ($lines=1) {echo "\033 [{$lines} B"; return $this;} $lines=1) { echo "\033[{$lines}B"; return $this; } public function cursorRight ($columns=1) {echo "\033 [{$columns} C"; return $this;} $columns=1) { echo "\033[{$columns}C"; return $this; } public function cursorLeft ($columns=1) {echo "\033 [{$columns} D"; return $this;} $columns=1) { echo "\033[{$columns}D"; return $this; } //Text colors public function setStyle ($style ='default ') {$this-> text. = "\033 [". $this-> style [$style]. "m"; return $this;} $style='default') { $this->text .= "\033[".$this->style[$style]."m"; return $this; } public function setColor ($color ='default ') {$this-> text. = "\033 [". $this-> color [$style]; return $this;} $color='default') { $this->text .= "\033[".$this->color[$style]; return $this; } public function setBgColor ($color ='default ') {$this-> text. = "\033 [". $this-> bgcolor [$style]; return $this;} $color='default') { $this->text .= "\033[".$this->bgcolor[$style]; return $this; } //Application public function setAppName ($name = ") {echo" \033] 0; {$name} \007 "; return $this;} $name='') { echo "\033]0;{$name}\007"; return $this; } public function setTitle ($name = ") {echo" \033] 2; {$name} \007 "; return $this;} $name='') { echo "\033]2;{$name}\007"; return $this; } public function setIcon ($name = ") {echo" \033] 1; {$name} \007 "; return $this;} $name='') { echo "\033]1;{$name}\007"; return $this; } //Other public function clear () {echo "\033c"; return $this;} ) { echo "\033c"; return $this; } public function console ($num=1) {echo "\033 [12; {$num}]"; return $this;} $num=1) { echo "\033[12;{$num}]"; return $this; } } ?>
Así como bajarlo se puede con phpclasses.org por esta referencia: http://www.phpclasses.org/browse/package/4969.html
Gracias por la atención.





surger
20 Doliendo, 2008
Hasta la nostalgia por los terminales ha abierto …
Спасиба, камрад
Alex Snet
20 Doliendo, 2008
¡Siempre es contento ayudar! =)
wtask
16 Puente, 2008
Gracias, miraremos. Son necesarios periódicamente de consola скриптики.
Emilis
02 Janv, 2009
¿Puede ser a usted come el ejemplo como usar esta clase?
Alex Snet
02 Janv, 2009
Sí, sin duda. ¿А que precisamente a Ud es incomprensible?
Pepe
20 Mar, 2009
Hi
¿Do you have an example how to use this class?
Thanks.
Pepe
Val
29 Okt, 2009
Buenos días; ¿а no tratabais de usar esta clase bajo windows?
Alex Snet
03 Doliendo, 2009
No, no probaba. Honestamente, dudo que bajo виндовс irán de consola ASCII las órdenes.
Val
03 Doliendo, 2009
Dudáis correctamente — no trabajan las órdenes de consola de пхп en винде.
Así, limpiar la pantalla de пхп mí podía solamente por medio de la llamada del método correspondiente de dllины.
Que es asombroso, en el pitón bajo mismo винду trabaja subprocess.call ([' cmd ', '/c ', ' cls '])
А en пхп – no existe.
Alex Snet
04 Doliendo, 2009
Val, vosotros таки embrolláis poco. En el código dado no hay llamada de otras aplicaciones. Aquí imprimimos simplemente los símbolos especiales, que cumplen una u otra operación. Здесь мы просто печатаем спецсимволы, которые выполняют ту или иную операцию.
A propósito de la llamada de las aplicaciones de consola – a php hay muchas variantes como esto se hace. Por ejemplo: exec, shell_exec, system, etc … exec, shell_exec, system, etc…
Por eso no será completamente posible que con uno orden trabajar, а con otra completamente.
Val
04 Doliendo, 2009
Alex, he escogido metódicamente todas estas funciones en php y todos los modos de llamar "en simplemente" cls: y command/c cls, y cmd/c cls, e imprimir directamente chr (27), “[H”, chr (27), “[2J” y en general todo.
No trabajan. E.d. en general — dan a la consola correcto ASCII las órdenes, y puedo observarlos: ← [2J, ♀ ←[2J, ♀
El Internet me ha afortunado por lo siguiente: “Windows NT does not support ANSI.SYS escape sequences in Win32 Console applications”
php.exe — es evidente win32 console app, por eso no trabaja.
La pregunta en, por qué en trabaja python.exe.