var ch : char; procedure screen(i:integer); begin write(#27,'z',chr(i)) end; procedure fett; begin write(#27,'p') end; procedure normal; begin write(#27,'q') end; procedure clearall; var i : integer; begin port[$378] := 0; for i := 0 to 6 do write(#27,'z',chr(i),#12,#27,'q',#27,'Y '); port[$378] := 8; end; procedure schriften; begin clrscr; writeln(' ***********************************************'); writeln(' * *'); writeln(' * *** Herculeskartendemo *** *'); writeln(' * *'); writeln(' ***********************************************'); gotoxy(10,7);writeln(#27,'qSchrift 1: normal ESC q'); gotoxy(10,9);writeln(#27,'pSchrift 2: fett ESC p'); gotoxy(10,11);writeln(#27,'rSchrift 3: invers ESC r'); gotoxy(10,13);writeln(#27,'sSchrift 4: invers fett ESC s'); gotoxy(10,15); writeln(#27,'q',#27,'tSchrift 5: normal unterstrichen ESC q ESC t'); gotoxy(10,17); writeln(#27,'p',#27,'tSchrift 6: fett unterstrichen ESC p ESC t'); writeln(#27,'q'); gotoxy(10,19); writeln(#27,'vmit deutschen Umlauten: {|}[\]~@ ESC v'); gotoxy(10,21); writeln(#27,'woder mit Klammern : {|}[\]~@ ESC w'); writeln;writeln;write('Taste druecken !'); read(kbd,ch); end; const hex: array [0..15] of char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); procedure zeichensatz; var i,j: integer; begin write(#27,'w'); clrscr; gotoxy(4,3); writeln('Zeichen 0 - 31 werden durch vorgestelltes CTRL-A bzw #1 ausgegeben'); for i := 0 to 15 do begin gotoxy(13+3*I,5);write(hex[i]); gotoxy(9, 7+i);write(hex[i]); for j := 0 to 15 do begin gotoxy(3*j+13,i+7); if i < 2 then write(chr(1)); write(chr(16*i+j)); end; end; writeln; writeln; write('Taste druecken !'); read(kbd,ch); end; procedure textseiten; var i,j :integer; ch : char; begin clearall; delay(500); for i:=0 to 6 do begin screen(i); gotoxy(0,3*i); for j := 1 to 20 do write (' Schirm Nummer',i:2); delay(200); end; for i := 0 to 6 do begin screen(i); delay(500); end; screen (0); end; procedure attribute; var i,j, pos: integer; att : byte; begin clrscr; gotoxy(3,3); write('alle Attribute ohne Blinken '); for i := 0 to 15 do begin gotoxy(13+3*I,5);write(hex[i]); gotoxy(9, 7+i);write(hex[i]); for j := 0 to 15 do begin gotoxy(3*j+13,i+7); write('P'); att := 16 * i + j; pos := 160*i+6*j+6*160+24+1; inline($F3); port[$37C] := $16; mem[pos]:= att; port[$37C] := 0; inline ($FB); end; end; writeln; writeln; write('Taste druecken !'); read(kbd,ch); clrscr; gotoxy(3,3); write('alle Attribute mit Blinken '); port [$378] := 42; for i := 0 to 15 do begin gotoxy(13+3*I,5);write(hex[i]); gotoxy(9, 7+i);write(hex[i]); for j := 0 to 15 do begin gotoxy(3*j+13,i+7); write('P'); att := 16 * i + j; pos := 160*i+6*j+6*160+24+1; inline($F3); port[$37C] := $16; mem[pos]:= att; port[$37C] := 0; inline ($FB); end; end; writeln; writeln; write('Taste druecken !'); read(kbd,ch); port[$378] := 10; end; begin schriften; zeichensatz; attribute; textseiten; end.