APPLICATIONSPROGRAMMATION ★ Unterprogrammsammlung|CPC Magazin) ★

Proghelp (CPC Magazin)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 ★ 

Das Programm Proghelp stellt Ihnen 12 brauchbare Unterprogramme zur Verfügung.

Das Programm PROGHELP stellt eine Unterprogrammbibliothek zur Verfügung, die je nach Bedarf verändert bzw. erweitert werden kann. Die Eingaben werden durch die Definition von Tasten, die mit Befehlen belegt sind, sehr erleichtert. Beim Programmieren ist der Bildschirm geteilt: Im oberen Teil erfolgt die Ausgabe der Unterprogramme oder das aktuelle Listing.

Die Zeilen 30000-39999 sind im Listing erläutert. Hier können Sie die Tastendefinitionen ersehen, die mit CTRL+Anfangsbuchstabe eingegeben werden. Das REM in Zeile 30230 sollte nicht entfernt werden. Hier sind die Zeilen angegeben, die nach einer Programmerstellung gelöscht werden müssen. Zeile 30240 beendet PROGHELP und ein erstelltes Hauptprogramm. Nach dem Start von PROGHELP wird der Bildschirm horizontal geteilt. Im oberen Window stehen 13 Zeilen für die normale Eingabe zur Verfügung. Die 14. Zeile ist eine Hilfszeile, welche die Spalten der Unterprogramme kennzeichnet. Damit diese nicht störend wirkt, wird sie nur beim Listen der Unterprogrammtitel angezeigt. Im unteren Window erfolgt die Ausgabe dieser Titel mit den dazugehörigen Daten oder ein Ausschnitt des Listings.

Folgende Tasten können zur Steuerung der Windows benutzt werden:

  1. Anzeigen der vorhandenen Unterprogramme: «F0» +SHIFT
  2. Weitere Anzeige: beliebige Taste außer ENTER.
  3. Anzeige-Stopp: ENTER (angezeigte Titel bleiben stehen).
  4. Löschen der Windows und Listen im unteren Bereich: kleine ENTER-Taste+SHIFT+ENTER oder Eingabe eines Zeilenbereiches.
  5. Löschen der Eingabe-Windows und Start eines Programmes: Pkt+SHIFT. Hierbei muß ein eventuelles Rücksetzen des Bildschirmes bedacht werden!

Neue Routinen können in jedem Zeilenbereich untergebracht werden, sinnvoll ist jedoch der Zeilenbereich zwischen 40000 und 50000. Jede neue Routine sollte in die Übersicht aufgenommen werden. Dies kann ab Zeile 50200 geschehen. Damit die Bezeichnungen nicht bis zum Ende scrollen, ist nach jeder 5. Eingabe ein EOF gesetzt. Da immer 4 Datas zugleich gelesen werden, müssen nach EOF drei „Leer“-Datas gesetzt werden (in Form von drei Kommas). In Zeile 50150 ist dies zu erkennen. Danach folgen 5 weitere Eingaben. Das absolute Ende ist durch EOF 1 gekennzeichnet (siehe Zeile 50990, diese kann so stehen bleiben).

Als Beispiel geben Sie nun folgende Zeilen ein (PROGHELP muß schon geladen sein):

40360 aus=0 : IF (INP(&F500) AND 64)=0 THEN aus—1 40362 IF aus=0THEN BORDER 2,6: LOCATE2.24: ELSE 40366
40364 PRINT”DRUCKER EINSCHALTEN”; : PRINT#8, : BORDER 2
40366 LOCATE 2,24: PRINT SPACE$(20): RETURN

Diese Zeilen prüfen den Druckerzustand. Wollen Sie diese Routine in die Übersicht einbinden, so muß nun Zeile 50200 geändert werden: 50200 DATA 42000, Melodie, evtl. ändern, Datas, EOF,,, Das EOF muß hier gesetzt werden, da 5 Datas vorher ein EOF steht. Nun wird noch Zeile 50210 hinzugefügt:.

50210 DATA 40360, Druckerzustand,-,aus

Die Zeile beinhaltet die Zeilennummer für den Start der Routine, die Bezeichnung der Routine, die Übergabeparameter (hier keine = -) und die Variablenliste (hier=aus). Aus der Variablenliste ist zu erkennen, ob eine neue Variable, die Sie benutzen wollen, bereits vorhanden ist. Nach Zeile 50210 können nun vier weitere Routinen bezeichnet werden, dann ein EOF und 5 weitere Unterprogramme. Eine Begrenzung besteht nur im vorhandenen Speicherplatz.
Vorhandene Unterprogramme

40000-40110 Deutsche Umlaute; diese müssen noch eingesetzt werden. Die Druckeranpassung gilt für den NLQ-401.
40200/40290 Ersatz für LOCATE (s. Beispiel). Hier können noch andere DEFs eingesetzt werden.
40300/40350 Warten auf Taste mit/ohne Ton. 40400-40450 Ja/Nein Abfrage 40500-40590 Eingabe nach vorgegebener Länge und Position.
40600-40645 Mittige Ausgabe für alle 3 Modi. 40650-40800 Joystick-Abfrage/Zeitschleife/Farb-rücksetzung
40850-40900 Interrupt-Steuerung - EVERY Wert muß angepaßt werden.
41000/41050 Zeitberechnung (s. Beispiel)
41100-41420 ERROR und BREAK Behandlung. ERROR Rücksprung nach 41200 muß noch eingesetzt werden.
41499-41550 Titel - Beispiel
41999-42050 Melodie - Beispiel

Diese Unterprogramme können nun geändert oder erweitert werden. Beachten Sie aber die Änderungen der Sprungadressen. Diese müssen in den DATA-Zeilen ab 50000 mitgeändert werden. Dies ist für vorhandene Unterprogramme nicht schwer, neue Routinen müssen ergänzt werden.

Bedenken Sie aber, daß Sie noch ein Hauptprogramm erstellen wollen. Unterprogramme können auch Sprungadressen anderer Routinen enthalten, wie dies bei den vorhandenen auch genutzt wird.

Sollten Sie das Programm erst testen wollen, so geben Sie die Unterprogramme noch nicht ein, sondern nur die Zeilen 30000-30240 und ab Zeile 50000 bis zum Ende. Die Routinen können dann später noch eingegeben werden.

Das Beispiel am Schluß des Listings zeigt eine Möglichkeit zur Anwendung. Geben Sie zuerst PROGHELP ein und starten dann das Programm. Nun geben Sie das Beispiel
ein. Immer wenn ein GOSUB erscheint, drücken Sie «F0»+SHIFT (aber nicht während die Zeile eingegeben wird, sondern vorher). Jetzt können Sie anhand der Sprungadresse sehen, welches Unterprogramm verwendet wird. Mit ENTER kehren Sie in den Eingabemodus zurück. Haben Sie das Beispiel eingegeben, starten Sie normal mit RUN. Nachdem das Beispiel ausgeführt wurde, können Sie mit «RUN 30000» PROGHELP wieder nutzen. Analysieren Sie das Beispiel genau und setzen Sie neue Routinen ein, auch Maschinensprache-Routinen sind möglich.

Uwe Ganter, CPC MAGAZIN

★ PUBLISHER: CPC Magazin
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LICENCE: LISTING
★ AUTHOR: Uwe Ganter

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Proghelp    (CPC  Magazin)    ENGLISHDATE: 2020-06-13
DL: 24 fois
TYPE: ZIP
SIZE: 7Ko
NOTE: 40 Cyls
.HFE: NON

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

Lien(s):
» Applications » RSX Help (CPC Amstrad International)
» Applications » Help browser for SymbOS
» Applications » ELS - Disckhelp (CPC Revue)
» Applications » RSX - Helpbasic/Helpbase (Amstar&CPC)
» Applications » Tranhelp
» Applications » Copyhelp v3 (CPC Magazin)

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 095 millisecondes et consultée 1008 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.