Ob man програму für die Konsole häufig machen muss? Nicht so häufig, ja? Und ich beschäftige mich die letzte Zeit nur damit eben … Deshalb hat die Klasse (gemacht in Wirklichkeit hat noch sehr seit langem gemacht). А вот я последнее время только этим и занимаюсь… Поэтому сделал класс (на самом деле сделал еще очень давно).
Diese Klasse lässt zu, solche einfachen Operationen, wie die Einblendung des Textes, die Einblendung des Hintergrunds des Buchstabens oder des Textes, die Anlage des Cursors auf die nötige Position, die Auswahl der Konsole für die Schlussfolgerung (1~8) und die gerade Hainbuche der gedrückten Tasten zu erfüllen.
<? 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; } } ?>
Ebenso es herunterladen es kann mit phpclasses.org nach dieser Verbannung: http://www.phpclasses.org/browse/package/4969.html
Danke für die Aufmerksamkeit.





surger
20 Jammernd, 2008,
Sogar die Nostalgie nach den Terminalen hat … gelocht
Спасиба, камрад
Alex Snet
20 Jammernd, 2008,
Ist immer froh, zu helfen! =)
wtask
16 Dek, 2008
Danke, wir werden anschauen. Periodisch werden stand- скриптики gefordert.
Emilis
02 Janw, 2009
Kann bei Ihnen sein isst auch das Beispiel, wie diese Klasse zu verwenden?
Alex Snet
02 Janw, 2009
Ja, natürlich. Und es was für Sie unverständlich ist?
Pepe
20 Mar, 2009
Hi
Do you have an example how to use this class?
Thanks.
Pepe
Val
29 Okt, 2009
Der gute Tag; und Sie versuchten nicht, diese Klasse unter windows zu verwenden?
Alex Snet
03 Jammernd, 2009,
Nein, versuchte nicht. Ehrlich gesagt bezweifle ich was unter виндовс stand- ASCII die Mannschaften gehen werden.
Val
03 Jammernd, 2009,
Richtig bezweifeln Sie — es arbeiten die Standmannschaften aus пхп auf винде nicht.
So den Bildschirm aus пхп ich reinigen konnte nur mittels des Aufrufs der entsprechenden Methode aus dllины.
Was auffallend ist, im Python unter selb винду arbeitet subprocess.call ([' cmd ', '/c ', ' cls '])
Und in пхп – gibt es.
Alex Snet
04 Jammernd, 2009,
Val, Sie alle verwirren Sie etwas. Im gegebenen Kode gibt es keinen Aufruf anderer Anlagen. Hier drucken wir спецсимволы einfach, die diese oder jene Operation erfüllen. Здесь мы просто печатаем спецсимволы, которые выполняют ту или иную операцию.
Betreffs des Aufrufs der Standanlagen – bei php gibt es viel Varianten wie es wird. Zum Beispiel: exec, shell_exec, system, etc … exec, shell_exec, system, etc…
Deshalb wird es dass mit einer Mannschaft vollkommen möglich sein, nicht, und mit anderem vollkommen zu arbeiten.
Val
04 Jammernd, 2009,
Alex, ich habe dieser Funktionen in php und alle Weisen "auf einfache Weise" methodisch ausgelesen, cls herbeizurufen: und command/c cls, und cmd/c cls, und direkt, chr (27), “[H”, chr (27), “[2J” und überhaupt allen zu drucken.
Arbeiten nicht. D.h. überhaupt — geben sie auf die Konsole richtig ASCII die Mannschaften aus, und ich kann sie beobachten: ← [2J, ♀ ←[2J, ♀
Das Internet hat mich vom Folgenden glücklich gemacht: “Windows NT does not support ANSI.SYS escape sequences in Win32 Console applications”
php.exe — ist es win32 console app offenbar, deshalb arbeitet nicht.
Die Frage darin, warum arbeitet in python.exe.