S'il faut souvent faire програму pour la console ? Non ainsi souvent, oui ? Mais voici je seulement m'occupe le dernier temps de cela … C'est pourquoi a fait la classe (a fait en fait encore il y a bien longtemps). А вот я последнее время только этим и занимаюсь… Поэтому сделал класс (на самом деле сделал еще очень давно).
Cette classe permet d'accomplir telles opérations simples, comme la surbrillance du texte, la surbrillance бэкграунда de la lettre ou le texte, l'installation du curseur sur la position nécessaire, le choix de la console pour la conclusion (1~8) et le charme direct des touches appuyées.
<? 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; } } ?>
Aussi transférer cela on peut avec phpclasses.org selon cette référence : http://www.phpclasses.org/browse/package/4969.html
Merci pour l'attention.





surger
20 En geignant, 2008
Même la nostalgie selon les terminaux a percé …
Спасиба, камрад
Alex Snet
20 En geignant, 2008
Est toujours content d'aider! =)
wtask
16 Pont, 2008
Merci, nous regarderons. Sont demandés périodiquement console скриптики.
Emilis
02 Janv, 2009
Peut être chez vous mange l'exemple comme utiliser cette classe ?
Alex Snet
02 Janv, 2009
Oui, certainement. Mais que notamment il vous est incompréhensible ?
Pepe
20 Mar, 2009
Hi
Do you have an example how to use this class ?
Thanks.
Pepe
Val
29 Okt, 2009
Bonjour; mais vous n'essayiez pas d'utiliser cette classe sous windows ?
Alex Snet
03 En geignant, 2009
Non, n'essayait pas. En disant honnêtement, je doute que sous виндовс ira console ASCII les équipes.
Val
03 En geignant, 2009
Doutez correctement — les équipes consoles de пхп sur винде ne travaillent pas.
Ainsi, nettoyer l'écran de пхп moi a pu seulement par voie de l'appel de la méthode correspondante de dllины.
Qu'est frappant, dans le python sous même винду travaille subprocess.call ([' cmd ', '/c ', ' cls '])
Mais à пхп – est absent.
Alex Snet
04 En geignant, 2009
Val, vous таки confondez un peu. Dans le code donné il n'y a pas d'appel des autres applications. Ici nous tapons simplement les symboles spéciaux, qui accomplissent n'importe quelle opération. Здесь мы просто печатаем спецсимволы, которые выполняют ту или иную операцию.
À propos de l'appel des applications consoles – chez php il y a beaucoup de variantes comme cela se fait. Par exemple : exec, shell_exec, system, etc … exec, shell_exec, system, etc…
C'est pourquoi ne sera pas tout à fait possible qu'avec un équipe travailler, mais avec l'autre tout à fait.
Val
04 En geignant, 2009
Alex, j'ai trié méthodiquement toutes ces fonctions à php et tous les moyens de provoquer "de manière simplement" cls : et command/c cls, et cmd/c cls, et taper directement chr (27), “[H”, chr (27), “[2J” et en général tout.
Ne travaillent pas. I.e. en général — ils donnent sur la console juste ASCII les équipes, et je peux les observer : ← [2J, ♀ ←[2J, ♀
Internet a fait le bonheur de moi par le suivant : “Windows NT does not support ANSI.SYS escape sequences in Win32 Console applications”
php.exe — il est évident win32 console app, c'est pourquoi ne travaille pas.
La question dans, pourquoi à travaille python.exe.