Navigation
« 

Anonymous




Register
Login
« 
« 

Amiga Future

« 

Community

« 

Knowledge

« 

Last Magazine

The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
More informations

« 

Service

« 

Search




Advanced search

Unanswered topics
Active topics
« 

Social Media

Twitter Amigafuture Facebook Amigafuture RSS-Feed [german] Amigafuture RSS-Feed [english] Instagram YouTube Patreon WhatsApp
« 

Advertisement

Amazon

Patreon

« 

Partnerlinks

Umgang mit ESC-Sequencen

Description: Amiga Times Ausgabe 4

Categories: [DE] Workshops

Link to this article: Select all

[url=https://amigafuture.de/app.php/kb/viewarticle?a=2389&sid=e77589bff9d43865865031026f2b8a04]Artikeldatenbank - Umgang mit ESC-Sequencen[/url]

Das ich gerne mit dem AMIGA DOS herumspiele, Scripte jeder Art schreibe ( fast alles läßt sich per DOS lösen ohne viel Geld für Programme auszugeben und ohne den Prozessor unnötig zu belasten solange man auf keine Graphische Oberfläche angewiesen ist ), hat sich ja so langsam herumgesprochen.

Und so ist auch dieser Text entstanden, nämlich wie kann man Textausgaben in Scripten unterschiedliche und vor allem gestalterische Aspekte geben ?

Das sich so einiges mit den Escape-Sequencen machen läßt, habe ich an anderer Stelle schon gezeigt.Das in den Escape-Sequencen aber noch viel mehr steckt als nur Schrift Bunt zu machen, wissen die wenigsten.

Und genau hier setze ich an.

Übrigens garantiere ich nicht das diese Liste Vollständig ist, aber wenn Ihr noch etwas entdeckt was mir entgangen ist, dann meldet Euch doch Bitte bei mir.

Auf den folgenden Seiten findet Ihr den Umgang mit den Escape-Sequencen sowie Listen mit verschiedenen Beispielen zum mischen der ESC-Sequencen.

Warum werden ESC-Sequencen eingesetzt ?

Nun muß unbedingt noch die Frage geklärt werden warum ESC-Sequencen eingesetzt werden.

Die Sache ist im Grunde ganz einfach: ESC-Sequencen werden zum Steuern eines Druckers verwendet, man kan also einem Drucker über die ESC-Sequencen sagen wie er zu Drucken hat. Das schöne an den Befehlen ist aber das man diese mißbrauchen kann um die Bildschirmausgaben zu beeinflussen. Text erscheint auf einmal Rot oder Blau ist Farbig unterlegt oder hat auf einmal ein Kursives ( Schräges ) aussehen und ist zudem noch unterstrichen.

"Nette Spielerei" werden viele von Euch sagen, aber gerade mit solchen Spielereien kann man andere Verblüffen, und das ohne Speicher verloren geht oder der Prozessor belastet wird.

Also es spricht kein Vernünftiger Grund gegen den Einsatz von ESC-Sequencen, falls von Euch doch jemand einer einfällt, meldet Euch doch Bitte.

Wo werden ESC-Sequencen eingesetzt ?

Ja und wo kann man ESC-Sequencen einsetzen ?

Dieses ist natürlich eine besonders überflüssige Frage, aber ich möchte trotz den darauf eingehen. Scherz beiseite, und seit Bitte nicht gleich Beleidigt.

Escape Sequencen können überall dort eingesetzt werden wo über die Shell, z.B. beim Hochfahren des Rechners ein Text auf der in der Shell erscheinen soll.

In allen Scriptdateien die Ihr schreibt, sei es um Eure kleine Schwester daran zu erinnern das sie schon wieder vergessen hat das sie doch erst mal deinen Schreibtisch aufräumen soll bevor sie an den Rechner geht, oder das Ihr Euch selbst beim einschalten des Computers Begrüßen wollt, können Escape-Sequencen eingesetzt werden. Ihr könnt auch einen Script Schreiben in dem mehrere IF und ASK Anweisungen vorkommen ( Textadventure ) und bestimmte Textteile farbig gestaltet oder Textteile überschrieben werden. Ihr seht der Phantasie sind keine Grenzen gesetzt. Wenn Ihr etwas Interresantes geschaffen habt, dann schickt es mir ruhig zu, vielleicht wird gerade Dein Script mit der nächsten Version dieser .guide veröffentlicht.

Wie werden ESC-Sequencen eingesetzt ?

Nun bleibt noch die Frage zu klären wie die ESC-Sequencen eingesetzt werden. Hierzu möchte ich Euch einige Beispiele liefern:

1. Eine reine ECHO Ausgabe:

Echo " Hallo User, Schön dich zu sehen."

Kann folgendermaßen verändert werden:

Echo " *e[47m*e[34mHallo *e[4mUser*e[0m*e[47m*e34m, Schön dich zu sehen.*e[0m"

Alles unklar ?

Ist mir schon klar, aber welcher Befehl was macht, steht in einem anderen Kapitel. Hier möchte ich Euch nur zeigen das es wichtig ist das alle ESC-Sequencen innerhalb der Gänsefüße stehen.

Übrigens wird bei diesem Beispiel erst die Hintergrund Farbe verändert, danach die Schriftfarbe. Als nächstes wird das Wort User unterstrichen, dann alle werte auf Normal zurückgesetzt. Als nächstes wieder Hintergrund, Schriftfarbe und am Ende wieder alle werte auf Normal, vielleicht soll der nächste Text ja anders aussehen.

2. Eine ASK Anweisung:

Echo " *e[36mSoll ich die dumme Frage Überschreiben ?*e[0m"
Echo " *e[37mWenn nicht überspringe ich 8 Zeilen.*e[0m"
ASK " *e[34mY*e[0mes oder *e[34mN*e[0mo möglich !"
IF WARN
Echo " *eM*e[33mDu hast es so gewollt !!!*e[0m"
ELSE
Echo " *e[8E*e[33mDu hast es so gewollt !!!*e[0m"
ENDIF


Zum enträtseln auch noch ein paar kleine Worte :

Zuerst werden mal wieder Schriftfarben gesetzt, und am Ende der Zeile wird alles wieder auf Normal gesetzt. Bei der ASK Anweisung ist es genauso, aber hier bezieht sich das setzen der Schriftfarben nur auf einzelne Buchstaben ( Y und N ). In der Echo Anweisung die nach WARN aufgerufen wird, wird est mal dafür gesorgt das die Letzte Zeile überschrieben wird und das der Text der erscheint Farbig ist. Wie immer wird auch hier am Ende der Zeile alles wieder auf normal gesetzt obwohl dieses nicht nötig wäre wenn nur die Option Überschreiben gewählt worden währe ( was für en doofer Satz !!! ) Die Echo Anweisung nach Else sieht nicht anders aus, nur das hier die Option Zeilen Überspringen statt Zeile überschreiben gewählt wurde.

Euch fallen beim Herumexperimentieren sicherlich noch mehr Möglichkeiten ein um Texte optisch besser als bisher zu gestalten oder Scriptabläufe auch für´s Auge interresant zu machen.

Welche Möglichkeiten habe ich mit ESC-Sequencen ?

Hier eine kleine Auflistung wie ihr diverse Texte in Scripts interessanter gestalten könnt.


*eD Leerzeile nach dieser Zeile. Das heißt natürlich das die Nächste Zeile Frei bleibt, und erst wieder die Übernächste beschrieben wird. Im grunde genommen der selbe Effekt wie *N*N.
*eM Diese Zeile überschreiben. Geht an den Anfang der Zeile zurück und überschreibt diese mit dem nachfolgenden Text. Sehr schön bei diversen ASK-Abfragen innerhalb eines Scripts.
*e[3m Folgender Text in Kursivschrift (Schrägschrift, bei manchen Zeichensätzen sehr undeutlich).
*e[4m Folgender Text wird unterstrichen
*e[1m Folgender Text wird Fett geschrieben
*e[30m Folgender Text wird Farbig geschrieben
*e[31m Folgender Text wird Farbig geschrieben
*e[32m Folgender Text wird Farbig geschrieben
*e[33m Folgender Text wird Farbig geschrieben
*e[34m Folgender Text wird Farbig geschrieben
*e[35m Folgender Text wird Farbig geschrieben
*e[36m Folgender Text wird Farbig geschrieben
*e[37m Folgender Text wird Farbig geschrieben
*e[38m Folgender Text wird Farbig geschrieben
*e[39m Folgender Text wird Farbig geschrieben Die Farbgebung des Textes ist abhängig von den Einstellungen die Du bei deinem System vorgenommen hast, selbst bei acht Farben können drei davon die selbe Farbgebung haben.
*e[40m Folgender Texthintergrund wird Farbig geschrieben
*e[41m Folgender Texthintergrund wird Farbig geschrieben
*e[42m Folgender Texthintergrund wird Farbig geschrieben
*e[43m Folgender Texthintergrund wird Farbig geschrieben
*e[44m Folgender Texthintergrund wird Farbig geschrieben
*e[45m Folgender Texthintergrund wird Farbig geschrieben
*e[46m Folgender Texthintergrund wird Farbig geschrieben
*e[47m Folgender Texthintergrund wird Farbig geschrieben
*e[48m Folgender Texthintergrund wird Farbig geschrieben
*e[49m Folgender Texthintergrund wird Farbig geschrieben Die Farbgebung des Texthintergrundes ist abhängig von den Einstellungen die Du bei deinem System vorgenommen hast, selbst bei acht Farben können drei davon die selbe Farbgebung haben. Desweiteren ist die Hintergrundfarbe identisch mit der Textfarbe bei gleicher Endzahl ! ( z.B. *e[34m = Text Blau *e[43m = Hintergrund Blau ).
*e[4F Folgende Textzeile erscheint zwei Zeilen über der aktuellen !!!
*e[5F Folgende Textzeile erscheint drei Zeilen über der aktuellen !!! Dieses läßt sich beliebig fortsetzen !!! Alle Zeilen die hier standen werden automatisch überschrieben. Kann sehr interresant aussehen wenn man geschickt mit Echo, ASK und Wait umgeht, ein einsetzen dieser ESC-Sequenz erfordert allerdings schon etwas übung, geschick und vor allem geduld. Ich gebe zu, das ich dazu auch nicht besonders viel Lust habe.
*e[nE Folgende Textzeile erscheint ( n=beliebige Zahl ) n Zeilen unter der aktuellen Zeile. Dieses ist besonders interresant wenn größere sprünge gemacht werden sollen. Der gesammte Script bleibt außerdem übersichtlicher. Mann stelle sich mal vor: Echo "Was hast Du gesagt ?*N*N*N*N*N*N*N*N*N*N*N*N" oder: Echo "Was hast Du gesagt ?*e[12E" und nun sag selbst was Dir lieber ist.
*e[0m Folgende Schrift in Normalschrift. Alle vorgenommenen Änderungen an der Schrift (Schriftstiel, Farbe, Hintergrund...) werden rückgängig gemacht.