Hallo, hier kommt eine für Basic schnelle und fexible Grafik-String Ausgabe mit Testprogramm zur Eingabe.
Die Grafikzeichen sind dabei in Strings gespeichert.
Ein String ist also ein 8 Byte langes Grafikzeichen.
Natürlich sind auch längere Strings möglich, bis zu 30 Zeichen lang.
Neue Zeichen können also auch einfach als String zusammengesetzt werden.
QUELLTEXT:
0 :goto20:--grafik-ausgabe
5 :a$="0:grafik-demo2":open1,8,15,"s"+a$:close1:savea$,8:return
9 :
20 :rem---aufruf
21 :dima,b,c,i,a$:s=57943:zs=53248:gr=57344:br=52224
22 :gosub80,zeichen
23 :gosub86:a$=chr$(36)+mid$(a$(85),2):gosub84:a$(64)=a$+"":rem-ue
29 :
30 :rem---aufruf
31 :print"[clr]grafik-demo:"peek(51)+peek(52)*256
34 :f=3:gosub95,gra.del
35 :syss"grafik.string.ausgabe: (tasten,ende:f1)":gosub51:gosub55
36 :a$=">":gosub50:gosub92,an
39 :
40 :poke198,.:gosub87:rem--tasten
41 :wait198,7:geta$:b=asc(a$):gosub85:ifband96then:gosub50:goto41:-zeichen
42 :
43 :c=band127:ifc=20then:g=g-8:forb=gtob+7:pokeb,.:next:rem--del
44 :ifc=19then:on-(b>c)gosub95:c=14:b=.:gosub55:rem-home
45 :g=g-(b=29)*8+(b=157)*8:on-(c=13orc=17)gosub55:on-(c>12)goto41::gosub90:end
49 :
50 :sys(s)a$:rem--str.ausgabe(a$,g)
51 :poke54,g/256:poke53,g-peek(54)*256:poke56334,.:poke1,51:c=46728
52 :forb=peek(781)+peek(782)*256tob+peek(780)-1:sys57943a$(peek(b)):sysc:next
53 :poke1,55:sys65390:g=peek(53)+peek(54)*256:b=c:return
54 :
55 :g=int((g-gr)/320):g=gr+320*(g-(b=candg<24)+(b>candg>.)):return:-cr
59 :
79 :
80 :dima$(255):rem--zeichen.inst
81 :i=64:a=32*8+zs:gosub82:i=32:a=64*8+zs
82 :gosub86:gosub88:fori=-i-31toi+31:a$(-i)="12345678"+"":next
83 :
84 :poke1,55:sys65390:rem--str.reset
85 :poke51,peek(3):poke52,peek(4):return
86 :poke56334,.:poke1,51:rem--str.merk
87 :poke3,peek(51):poke4,peek(52):return
88 :poke52,a/256:poke51,a-peek(52)*256:return:-str.set
89 :
90 :poke53265,41:rem--bild.1(1024)
91 :sys65374:sys64931:sys58784:sys64917:return
92 :poke53265,11:rem--graf.7(57344)
93 :poke56576,196:poke53272,56:poke53270,200:poke53265,59:poke648,204:return
94 :
95 :c=f:a=br:b=1000:gosub96:c=.:a=gr:b=8000:g=a:rem--farb+graf.loesch(c)
96 :poke780,c:poke114,b/256:poke113,b-peek(114)*256
97 :poke89,a/256+peek(114):poke88,a-int(a/256)*256:poke12,1:sys45762:return
Schönen Gruß.