CODING ★ BENUTZEROBERFLAECHE CEUS V1.0 - TEIL 1 : GRUNDLAGEN DER GRAFISCHEN BENUTZEROBERFLÄCHEN|CPC AMSTRAD INTERNATIONAL) ★

Menu - RSXBenutzeroberflaeche CEUS v1.0 - Teil 1 : Grundlagen der grafischen Benutzeroberflächen (CPC Amstrad International)
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Ist Ihnen das noch nie passiert? Sie stehen im Computerladen ehrfürchtig vor einem Rechner, der zu den Modellen der Marke mit den drei gestreiften Buchstaben “vollkorn-patibel“ ist, oder vor dem Produkt eines bekannten Heimcomputer-Herstellers und kommen aus dem Staunen über die tollen Benutzeroberflächen mit der schönen Maussteuerung nicht heraus. Plagen Sie dann auch Gedanken an den Umstieg auf ein Modell dieser Marke? Wenn ja, dann ist diese Serie vielleicht geeignet, Ihren Geldbeutel zu schonen, den Gedanken auf Systemwechsel erst einmal wieder im Schrank verschwinden zu lassen und dafür mit CEUS (Cpc Extended User System) auch Ihrem CPC echtes PC-Feeling zu verpasssen.

Die grafischen Benutzersysteme sorgten in den letzten Jahren in der Computerszene für gewaltige Unruhe. Jeder wollte plötzlich möglichst einfach und einheitlich zu bedienende Programme schreiben, das Betriebssystem durch eine Oberfläche ersetzen und dem geplagten User so viel Arbeit wie nur möglich abnehmen.

Deshalb wurden die Systeme auch so ausgelegt, daß zwecks Vereinheitlichung der Benutzung die Software einiger Hersteller nur in Verbindung mit einer ganz bestimmten Oberfläche arbeiteten; wie gesagt: dem User zuliebe, ganz selbstlos!

Etwas Geschichte

Um den ganzen Mäusezirkus besser zu verstehen, ein kleiner Blick auf die Geschichte:

Begonnen hat alles vor ein paar Jahren mit dem Macintosh der Firma mit dem bunten Äpfelchen im Signet. Damals wurde die Benutzeroberfläche des Mac als Sensation gefeiert. Endlich einmal tat jemand etwas gegen die menschenfeindliche Benutzung von Computerprogrammen. (Wer schon einmal Wordstar 1.0 auf CP/M-Rechnern gesehen hat, weiß, wovon die Rede ist!) Apple erzielte mit dem Mac, trotz hoher Preise, gewaltige Verkaufszahlen. Entsprechend schnell war die Konkurrenz vom PC-Markt auch mit Systemen für MS-DOS zur Stelle. Apple versuchte daraufhin, per Gerichtsbeschluß den Vertrieb und die Programmierung von diesen Systemen zu untersagen: Es kam zu einer gewaltigen Prozeßwelle, in der Apple Teilsieger wurde. Digital Research (die Macher des guten alten CP/M), die 1984 mit GEM (Graphics Environment Manager) ein System vorstellten, das doch ziemliche Ähnlichkeit mit Apples Mac-Oberfläche aufwies, mußten ihre Oberfläche so umschreiben, daß keine übermäßigen Ähnlichkeiten mit dem »look and feel« des Mac mehr bestanden. Solche “Angriffe auf das allgemeine User-Wohl“ konnten den endgültigen Siegeszug solcher Systeme aber nicht lange aufhalten. 1986 stellte Microsoft seine Oberfläche MS-Windows vor. Spätestens seit diesem Zeitpunkt wagt es kaum mehr ein Hersteller von PC-Software, ein Programm ohne Windows, Mäuse und Icons auf den Markt zu bringen.

Und der CPC?

Nur der gute alte CPC hat von diesen Bemühungen um die geplagten Computerbesitzer nicht viel mitbekommen. Obwohl die Entwickler bei Locomo-tive Software angesichts der bereits bestehenden Mac-Euphorie noch schnell einige spärliche Window-Befehle in das CPC-Basic gequetscht haben, ist diese sehr segensreiche Entwicklung in den letzten Jahren - im Gegensatz zu anderen Heimcomputern wie dem C64 - am 464 und seinen Nachfolgern spurlos vorübergegangen.

Zwar statten manche Softwarehersteller auch hier ihre Produkte mit Windows oder ähnlichem aus, aber einerseits sind diese “Oberflächen“ ziemlich uneinheitlich und tragen eher noch mehr zur Verwirrung der Benutzer bei. Andererseits sitzen alle diejenigen auf dem trockenen, die ihre eigenen Programme gern auch mit einer einfachen und einheitlichen Benutzeroberfläche ausrüsten wollen. Diesem Übel soll nun mit dieser Serie abgeholfen werden.

Im Laufe der sechs Folgen wird ein komplettes, in Assembler geschriebenes Benutzeroberflächensystem entworfen, das, mit einer umfangreichen Funktionsbibliothek ausgestattet, es sowohl dem Assembler- wie auch dem reinen BASIC-Freak möglich macht, endlich seine Programme so aufzumöbeln, daß sie zumindest äußerlich den Produkten des XY-Profi-Softwarehauses in nichts mehr nachstehen. Der Benutzer wird es danken!

Was ist eine grafische Benutzeroberfläche?

Die Grundidee bei den grafischen Benutzersystemen findet sich in dem Satz »Ein Bild sagt mehr als 1000 Worte« wieder. Nach diesem Motto versuchten die Entwickler von Apple, ein System zu schaffen, das dem Benutzer mehr oder weniger gut auf grafischem Wege seinen Schreibtisch ersetzt. Verschiedene Operationen wie Taschenrechner, Notizblock und Kalender werden in einzelnen Fenstern dargestellt, die auch überlappen können, genauso wie auf einem Schreibtisch, auf dem eben diese Dinge verteilt herumliegen. Wie auf einem Schreibtisch können Sie auch einen dieser Gegenstände auswählen (anklicken) und damit arbeiten, also zum Beispiel Einträge auf dem Notizblock machen, ihn weglegen (schließen) oder verschieben. Von der grundsätzlichen Ähnlichkeit mit einem Schreibtisch kommt auch der Begriff “Desktop-Oberfläche“ für grafische Benutzeroberflächen (von engl. desk=Tisch). Lediglich Commodore führte auf dem Amiga — wohl um Ärger mit Apple zu vermeiden und Eigenständigkeit zu demonstrieren - den Begriff “Workbench“ ein, was soviel wie “Arbeitsbank“ heißt. Bleiben wir aber lieber beim gebräuchlicheren “Desktop“. Ebenfalls wie auf einem Schreibtisch erfolgt die Benutzung der einzelnen Objekte auf dem Tisch. Sie werden mit einem elektronischen “Finger“, dem Cursor (Mauszeiger, Mauspfeil, Pfeil...), der von einer Maus, einem Joystick oder mit einigen Tasten gesteuert wird, auf dem Bildschirm angefahren und durch “Anklicken“

(Drücken einer Taste) angewählt, genauso wie man auf einem Schreibtisch nach einem Stück Papier greift.

Benutzeroberflächen sind objektorientiert

Ein Wort im letzten Satz ist besonders wichtig: OBJEKTE. Benutzeroberflächen sind das bekannteste Beispiel für eine objektorientierte Benutzerführung. Objektorientiert heißt, daß man zum Beispiel einen Taschenrechner oder auch eine Datei nicht als ein Programm oder als Daten betrachtet, die man starten beziehungsweise mit Programmen verändern kann, sondern als eigenständige Objekte mit bestimmten Eigenschaften, mit denen man andere Objekte beeinflussen kann. So kann man mit dem Objekt Editor das Objekt Programmtext verändern.

Die einzelnen Objekte werden dabei, wenn sie nicht gerade offen auf dem Tisch liegen, um Unordnung zu vermeiden (Computer sind ja bekanntlich ständig von einem “kreativen Chaos“ umgeben), durch kleine Symbole in Bildform (sogenannten Icons) repräsentiert, die irgendwo auf dem Bildschirm abgelegt und durch Anklicken geöffnet werden, das heißt, die mit den Icons verbundenen Operationen oder Programme werden ausgeführt. Für einen Taschenrechner würde das zum Beispiel bedeuten, daß irgendwo auf dem Bildschirm ein Taschenrechner-Icon dargestellt wird; klickt man dieses Icon nun an, so wird das Objekt, also der Taschenrechner, komplett auf dem Bildschirm dargestellt und kann nun benutzt werden.

Bei einer Textdatei könnte es bedeuten, daß das System nach dem Anklicken des Datei-Icons zunächst einen Editor aufruft, die Datei in den Editor lädt und den Benutzer dann die Datei verändern läßt. Beim Verlassen des Editors wird dann automatisch die Datei wieder abgespeichert und der Editor verlassen. Eine weitere Möglichkeit wäre das Aufrufen bestimmter Programmiersprachen in Abhängigkeit von der Extension des Dateinamens, also eines Pascal-Compilers bei .PAS, eines BASIC-Interpreters bei .BAS oder eines Assemblers bei .ASM.

Windows à la carte

Ein anderer wichtiger Bestandteil von grafischen Benutzeroberflächen sind die Menüs. Man unterscheidet hierbei zwischen Pulldown- und Popup-Me-nüs. Während man erstere durch “Herabrollen“ (engl, to pull down) aus einer Menüleiste, die meistens am oberen Bildschirmrand dargestellt wird, öffnet, erscheinen letztere nach dem Anklicken eines Menüpunktes oder eines Icons irgendwo auf dem Bildschirm. Beide haben gemeinsam, daß sie normalerweise in einem Window dargestellt werden.

Die Windows (engl, für Fenster) sind sowieso das Hauptelement der grafischen Oberflächen. Sie kommen in den unterschiedlichsten Formen vor. Mit Schatten, ohne Schatten, mit einfachem Rand, mit doppeltem Rand, einfarbig, bunt..., aber im Prinzip sind sie alle gleich. Ein Window stellt einen festgelegten Bildausschnitt dar, in dem Informationen dargestellt werden oder Programme ablaufen können.

Ein Window ist eine in sich abgeschlossene Einheit. Es kann verschoben, vergrößert, verkleinert, ausgeblendet oder gelöscht werden, ohne dabei irgendwelche anderen Windows oder deren Inhalt zu verändern. Ein Window entspricht also praktisch einem verkleinerten Monitor oder einem Blatt Papier. Eine Ansammlung von Windows entspricht dann also einem Haufen Monitore beziehungsweise einer mittleren Unordnung auf einem durchschnittlichen Schreibtisch!

Von der Theorie zur Theorie...

Nachdem wir nun also wissen, was eine grafische Benutzeroberfläche ist, wie sie arbeitet, wozu sie gut ist, warum sie erfunden wurde, sollten wir uns allmählich Gedanken darüber machen, wie unser eigenes Desktop eigentlich aussehen soll.

Zuerst müssen wir uns dabei klar werden, daß der CPC halt ein CPC und keine CRAY ist. Es müssen also Abstriche bei der Leistungsfähigkeit gemacht werden. Zum anderen müssen wir uns entscheiden, was eigentlich in eine Toolbox mit hinein muß und was dem Programmierer beziehungsweise Anwender selbst überlassen bleibt.

Für den Anwender ist es natürlich erst einmal um so besser, je mehr die Toolbox kann, je mehr ihm also Arbeit abgenommen wird. Andererseits ist das tapfere Amstradlein ja auch nicht gerade sehr üppig mit Speicherplatz ausgerüstet.

Speicherfresser

Und damit wäre auch bereits eines der Hauptprobleme eines Desktop-Systems angesprochen: Es braucht Unmengen von Speicherplatz. Jedes dieser kleinen Utilities, jedes Window, jedes Menü, jedes Icon will ja schließlich irgendwo abgespeichert werden, möglichst auch noch mit seinen Koordinaten auf dem Bildschirm und allen mit ihm verbundenen Anweisungen. Und vor allem, da sich die Windows ja nicht gegenseitig stören beziehungsweise zerstören sollen (siehe oben), sollte auch noch all das abgespeichert werden, was sich unter einem Fenster befindet, und damit ein Window zeitweilig ausgeblendet werden kann, vielleicht auch noch, was alles in dem Window zu finden ist, und... Da kann es schon 'mal ganz schön eng werden. Also, auf jeden Fall werden die elementaren Routinen zum Zeichnen von Windows, zum Definieren und Darstellen von Icons und zur Darstellung und Steuerung eines Cursors gebraucht. Weiterhin wäre es natürlich auch sehr praktisch, bereits ein fix und fertiges Menüsystem zur Verfügung zu haben. Und damit Fehler und Sicherheitsabfragen endlich auch dem Benutzer nicht nur zur Last fallen, sondern auch gefallen, vielleicht noch eine Alertbox- und Errorbox-Funktion.

Living in a box

Eine Alertbox ist eine sehr sinnreiche Erfindung, die üblicherweise aus der Verbindung eines Windows mit mehreren Icons gebildet wird. In dem Window wird dabei eine Meldung (zum Beispiel eine Sicherheitsabfrage: “Wollen Sie das Programm auch ganz sicher garantiert jetzt abspeichern???“) angezeigt, über die Icons hat der Benutzer die Möglichkeit, auf diese Meldung zu reagieren, zum Beispiel durch ein “OK“- und ein “Cancel“-Icon. Eine Errorbox unterscheidet sich nur dadurch von einer Alertbox, daß sie erstens normalerweise für Fehlermeldungen benutzt wird (daher der Name) und daß sie zweitens lediglich ein einziges Icon (“OK“) enthält, mit dem der Benutzer dem System mitteilen kann, daß er die Meldung zur Kenntnis genommen hat.

Eine besonders gemeine Form der Alertbox stellt übrigens die Version da, die sogar dieses eine Icon noch spart und den Benutzer dann zur Tastatur greifen läßt; meist zu den Tasten “CTRL“,“SHIFT“ und “ESC“... Also, so eine Alertbox wäre ja schon ganz nützlich. Und weil Programmierer oft zu nächtlichen Überstunden am Computer neigen, die dann an ungeeigneter Stelle durch Morgenschlaf ausgeglichen werden müssen, enthält unser Paket noch eine komfortable Software-Uhr.

Und zum Abschluß kommen dann die netten kleinen Utilities an die Reihe, die das Computerleben (auch auf dem CPC) so sehr versüßen können: Taschenrechner, Kalender, Notizblock... Aber die sind dann schon nicht mehr fester Bestandteil der Toolbox, sondern können von denjenigen, denen die Programmierung eines Benutzeroberflächensystems zu kompliziert erscheint, durchaus auch als Anwendungsbeispiele angesehen werden.

Jetzt geht's schon fast los!

An Programmcode enthält diese Folge zunächst erstmal den Programmkopf mit der RSX-Einbindung und den Error-Handler.

Insgesamt besteht das ganze “Handling“ nur aus Routinen, die den Fehlercode vom “Improper argument“, “Memory full“ oder “Operand missing“ in den Akku und das E-Register (wegen der Kompatiblität zu allen CPCs) schreiben und dann den Error-Handler des BASIC anspringen. Richtig, den Error-Handler des BASIC, der nimmt einem nämlich alle weitere Arbeit ab: Er erzeugt eine (vom BASIC aus mit ON ERROR... ab fang- und abfragba-re) Fehlermeldung, erledigt den Rücksprung und räumt sogar noch den Stack auf!

Alle Assemblerlistings sind für den Hi-Soft Devpac Assembler geschrieben und müssen für andere Systeme eventuell angepaßt werden (besonders bei den Pseudo-Befehlen wie DEFB/DB oder DEFS/DS), was mit Hilfe der Dokumentation aber kein Problem sein sollte. In der nächsten Folge geht es dann richtig los mit dem ersten Teil des Window Managers, der leistungsfähige Befehle zur Bildschirmverwaltung enthält.

CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEARE: 1989 , 1990
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ TAG: /RSX/DESKTOP/CEUS/
★ LICENCE: ???
★ AUTHOR: Joerg Schwieder

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-CEUS  v1-SOURCEPACK    GERMANDATE: 2020-04-18
DL: 186 fois
TYPE: ZIP
SIZE: 20Ko
NOTE:
.HFE: NON

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RAMdisk
» Applications » RSX-Fill (Happy Computer)
» Applications » Rsx - Pride Utilities - Supersprites Mode 0 (CPC Revue)
» Applications » RSX Transfer (CPC Magazin)
» Applications » RSX - Scroller (Computing With the Amstrad)
» Applications » Rsx - Mix Your Modes (Popular Computing Weekly)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 225 millisecondes et consultée 307 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.