VC 20
Anwendung

Bildschirmmasken schnell erstellt

Bei jedem selbstgeschriebenen Anwendungsprogramm steht man in der Regel stets aufs Neue vor dem Problem, zur Abfrage diverser Parameter eine geeignete Bildschirmmake zu erstellen. Dieser Maskengenerator macht die Arbeit etwas einfacher.

Dieser Generator für den VC 20 liest eine Maske direkt vom Bildschirm und erzeugt automatisch die entsprechenden PRINT-Befehle im Programm. Durch diesen Vorgang löscht der Generator sich selbst, so daß ein SAVEn des Programms unmittelbar nach dem Eintippen unbedingt notwendig ist.

Das Programm benötigt eine Erweiterung von mindestens 8 KByte, da am Schluß der Basicspeicher höher gelegt wird. Ohne Erweiterung würde Speicherplatz fehlen. Auch müßte man eine Verschiebung des Bildschirm- und Basicspeicher beachten. Das Programm wird nach dem Laden einfach mit »RUN« gestartet. Danach erscheint eine kurze Anleitung.

So wird die Maske aufgebaut

In Zeile 23 wird der Tastaturpuffer abgefragt. Wurde eine Taste gedrückt, wird er auf 0 zurückgesetzt. Nun wird in Zeile 1000 der Bildschirm gelöscht und eine Datei für den Bildschirm eröffnet, da der Bildschirm dann ja ausgelesen wird und daraus die neuen Zeilen der Maske generiert werden. Sie sehen jetzt eine geänderte Farbe und den blinkenden Cursor. Nun erstellen Sie Ihre Maske nach Ihren Wünschen, wobei Sie mit den Cursortasten bliebig hin- und herfahren können. Ist die Bildschirm-Maske in der richtigen Form, drücken Sie RETURN.

Jetzt wird der Bildschirmspeicher ausgelesen. Die neue Zeile wird mit Zeile 2010 generiert. Das Fragezeichen ist die Kurzform von Print, (CHR$(34) ist der Code für Anführungsstriche. Das Generieren von neuen Programmzeilen geschieht in einer Schleife. Sind alle 23 Bildschirmreihen ausgelesen, springt das Programm nach Zeile 10000. Jetzt wird der Anfang vom Basicspeicher höher gelegt und Zeile 23 gelistet. Nun muß noch ein Leerzeichen aus Zeile 23 entfernt werden. Damit ist die neue Maske fertig und kann abgespeichert werden, oder das nachfolgende Programm kann direkt geschrieben werden. Zeile 50 sorgt dafür, daß das Bild nicht nach oben gescrollt wird. Dadurch wird auch die READY-Meldung unterdrückt. Die fertige Maske wird auch wieder mit RUN gestartet.

(Bernd Borghold/ev)
0 print"{clr}";
1 print" U{SHIFT-*}I {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@} U{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}I ";
2 print" {SHIFT--}c{SHIFT--}{CBM-M}Mvc-20N{CBM-G}{SHIFT--}bild -{SHIFT--} ";
3 print" {SHIFT--}b{SHIFT--}{CBM-M} M{CBM-@}{CBM-@}{CBM-@}N {CBM-G}{SHIFT--}      {SHIFT--} ";
4 print" {SHIFT--}m{SHIFT--}{CBM-M}  {CBM-G} {CBM-M}  {CBM-G}{SHIFT--}schirm{SHIFT--} ";
5 print" {SHIFT--} {SHIFT--}{CBM-M}  {CBM-G}v{CBM-M}  {CBM-G}{SHIFT--}      {SHIFT--} ";
6 print" {SHIFT--} {SHIFT--}{CBM-M}  {CBM-G}c{CBM-M}  {CBM-G}{SHIFT--}masken{SHIFT--} ";
7 print" {SHIFT--}v{SHIFT--}{CBM-M}  {CBM-G} {CBM-M}  {CBM-G}{SHIFT--}      {SHIFT--} ";
8 print" {SHIFT--}c{SHIFT--} M {CBM-G}2{CBM-M} N {SHIFT--}gene -{SHIFT--} ";
9 print" {SHIFT--} {SHIFT--}  M{CBM-G}0{CBM-M}N  {SHIFT--}      {SHIFT--} ";
10 print" {SHIFT--}2{SHIFT--}   {CBM-T}{CBM-T}{CBM-T}   {SHIFT--}rator {SHIFT--} ";
11 print" {SHIFT--}0J{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}K      {SHIFT--} ";
12 print" {CBM-Q}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-W} ";
13 print" {CBM-Q}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-W} ";
14 print"UK                  JI";
15 print"{SHIFT--}dieses programm er- {SHIFT--}";
16 print"{SHIFT--}stellt ein eigenes  {SHIFT--}";
17 print"{SHIFT--}programm. nach dem  {SHIFT--}";
18 print"{SHIFT--}erstellen der maske {SHIFT--}";
19 print"{SHIFT--}entfernen sie bitte {SHIFT--}";
20 print"{SHIFT--}ein leerzeichen aus {SHIFT--}";
21 print"{SHIFT--}zeile 23U{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}K";
22 print"J{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}K            ";
23 print" Zdruecke eine tasteZ";:poke198,0:wait198,1:poke198,0:goto500
50 goto50
500 poke36879,58
1000 print"{clr}";:open1,0:input#1,q$:close1
1010 fort=0to505:poke7680+t,peek(4096+t)
1020 poke4096+t,peek(7680+t)+128
1030 next:print"{clr}"
1035 y=1
1040 ify=24then10000
1050 fort=0to21
1060 c=peek(7680+t+(y-1)*22)
1070 gosub6050
1080 zn$=zn$+chr$(c):next
2000 print"{cyn}{home}{down}"
2010 printy" ?"chr$(34)zn$chr$(34)";"
2020 print"1035 y="y+1
2030 print"run 1035"
2034 print"{blk}es wird generiert:"
2035 print"{home}{blk}bild-zeile :#";y
2040 print"{cyn}{up}{up}{up}{up}{up}{up}{up}{up}{up}";
2050 poke631,13:poke632,13:poke633,13:poke198,3
3000 end
6050 ifc<32thenc=c+64:return
6051 ifc=34thenc=32
6060 ifc>95thenc=c+64:return
6070 ifc>63thenc=c+32:return
6075 ifc>255thenc=32
6080 ifc>128thenc=c-128:return
6090 return
7000 fort=0to505
7010 poke4096+t,peek(7680+t)+128:next
7100 goto7100
10000 poke5341,0:poke5342,0:poke5343,0:poke45,222:poke46,20
10040 poke36879,27
10050 print"{clr}{down}{down}{down}{blk} maske fertig !!"
10100 print"{down}entfernen sie nun ein leerzeichen aus zeile"
10120 print"{down}nummer 23
10180 fort=0to2500:next
10190 print"{clr}{down}{down}":list23
10200 end
Der Maskengenerator für den VC 20
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →