APPLICATIONSPROGRAMMATION ★ Groß, größer, am größten|CPC Amstrad International) ★

Zeichenzoom (CPC Amstrad International)Applications Programmation
★ 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 ★ 

Zeichenzoom

Wer hat nicht schon mal vor dem Problem gestanden, daß man größere Zeichen benutzen wollte als der gerade aktuelle Modus erlaubt, wenn möglich auch mehrere Größen, in einer nicht speicherplatzfressenden Routine.

Es gibt in dieser Richtung schon einige Tips. Aber die meisten basieren darauf, das zu vergrößernde Zeichen in einer vorher fest definierten Matrix zu suchen, um es dann vergrößert (auch fest definiert) darzustellen. Allerdings gibt es meistens Schwierigkeiten, wenn z.B. später selbst definierte oder außerhalb der definierten Matrix enthaltene Zeichen vergrößert dargestellt werden sollen. Die folgende nur 1059 Bytes lange Routine ermöglicht auf komfortable Weise die vergrößerte Darstellung aller darstellbaren ASCII- und auch selbstdefinierten Zeichen. Und das auch noch in allen drei Modi in jeweils vier verschiedenen Zeichenarten (2-4 mal so groß und einmal doppelt mit unterstreichen).

Wie funktioniert das?

Das Locomotive Basic der CPC stellt dafür einen mächtigen Befehl zur Verfügung: “Der Klammeraffe unter dem CP/M Balken“. Mit dieser Taste läßt sich nicht nur CP/M aufrufen oder AMSDOS bedienen, sondern sie stellt einen eigenständigen, interessanten Befehl. Mit ihm können Strings bearbeitet und “verbogen“ sowie die Adressen von Variablen damit festgestellt werden. Und hier haben wir den CASUS KNACKTUS für die Zeichenvergrößerung. Anstatt nun > name$ < Zeichen für Zeichen auszulesen und mit dem ASCÜ-Zei-chensatz zu vergleichen (s.o), stellen wir mit >adresse= < in Zeile 10020 die Adresse des Strings im Speicher fest, um ihn dann BIT für BIT auszulesen (gemäß der Zeichenmatrix). Jedesmal, wenn bei der Auslesung des Zeichens ein darstellender Wert gefunden wird, wird dieser als Parameter eines SYMBOL-Befehls gespeichert. Das heißt, jedes Zeichen von >name$< wird ausgelesen und in eine Symboldefinition zerlegt. Je nachdem, welche Vergrößerung Sie ge-
wählt haben, werden die ermittelten Werte verdoppelt, verdreifacht beziehungsweise vervierfacht.

Normalerweise könnte dieses ohne große Probleme immer weiter ausgebaut werden. Ein Handicap hat diese Art der Auslesung allerdings. Nicht alles kann ausschließlich mit Pluspunkten belegt werden.

Die Zeichen werden nur in vertikaler Achse verzehrt. Entsprechend der Größe “wachsen“ sie nicht in der horizontalen mit. Aber bei den im Programm enthaltenen Vergrößerungen hält sich das noch im Rahmen. VORTEIL ! Die maximale Zeichenlänge je Zeile kommt nicht durcheinander. Der Befehl LOCATE bleibt daher fast ohne Einschränkungen kompatibel und ermöglicht die Darstellung aller verschiedenen Zeichengrößen eines Modes in einer Zeile. Dabei ist allerdings die Höhe der Zeichen zu beachten.

Die Länge eines Strings darf die maximale Zeichenlänge einer Zeile des aktuellen Modes überschreiten. Das Carriage Return wird entsprechend größer ausgeführt.

Wie wird die Routine benutzt?

Eigentlich ganz einfach. Zu Beginn den Modus bestimmen. Dann den auszulesenden Text, Zahlen oder auch Zeichen der Variablen >name$< zuweisen. Nun müssen Sie noch die Vergrößerung der Variablen “zahl“ zuordnen (zahl hat mögliche Werte zwischen 2 und einschl. 5). Als letzte Vorbereitung, den Cursor mit Locate positionieren. Rufen Sie dann die Routine mit GOSUB (Zeilennummer, im Beispiel 10000) auf.

Wichtig

Sie dürfen in dem Programm, in welchem diese Routine benutzt wird, den für BASIC zur Verfügung stehenden Speicherplatz nicht so herabsetzen, daß keine SYMBOL-Definition mehr möglich ist. Die vor Zeile 10000 stehenden Zeilen sind das DEMO-Programm und können ohne weiteres für die spätere Nutzung gelöscht werden.

(Holger Schäkel/cd) , CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1988
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1988
★ AUTHOR: Holger Schäkel
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Zeichenzoom    (CPC  Amstrad  International)    GERMANDATE: 2021-08-10
DL: 133
TYPE: ZIP
SiZE: 4Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » DIN-Tastatur unter CP/M 2.2 (Computer Schau)
» Applications » Din - Tastatur (CPC Amstrad International)
» Applications » Deutsche DIN Tastatur (Happy Computer)
» Applications » Deutsche Tastatur-Belegung für den Schneider Amstrad CPC 464
» Applications » Tastatur eine Programmierhilfe (Happy Computer)
» Applications » Tastaturbelegung (CPC Amstrad International)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 621 millisecondes et consultée 584 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.