Сегодня же - Международный день анимации ! )
ASCMAN.PAS(SAV) - на прилепленном образе,
что-бы запустить и посмотреть в динамике -
наваял от настроения, четыре кадра-примитив.
Но всё по теме - написано на ПАСКАЛЕ! )
SHKEYS.PAS(SAV) - и до кучи там же, ещё одна программка на ПАСКАЛЕКод:PROGRAM ASCMAN; /* ARCHIVE.PDP-11.ORG.RU */ PROCEDURE GOTOXY(XX,YY: INTEGER); BEGIN WRITE(CHR(27),'Y',CHR(32+YY),CHR(32+XX)); END; PROCEDURE WAIT(T: INTEGER); VAR WT: INTEGER; BEGIN IF T>0 THEN FOR WT:=T DOWNTO 0 DO; END; PROCEDURE PROMOTKA(S: INTEGER); VAR P: INTEGER; BEGIN IF S>0 THEN FOR P:=1 TO S DO WRITELN; END; PROCEDURE POS1(X,Y: INTEGER); BEGIN IF (X>=0)AND(Y>=0) THEN BEGIN GOTOXY(X,Y);WRITE(' ## '); GOTOXY(X,Y+1);WRITE(' # # '); GOTOXY(X,Y+2);WRITE(' # # '); GOTOXY(X,Y+3);WRITE(' ## '); GOTOXY(X,Y+4);WRITE(' ######## '); GOTOXY(X,Y+5);WRITE(' # # # # '); GOTOXY(X,Y+6);WRITE(' # # # # '); GOTOXY(X,Y+7);WRITE(' # # '); GOTOXY(X,Y+8);WRITE(' ## '); GOTOXY(X,Y+9);WRITE(' ## ## '); GOTOXY(X,Y+10);WRITE(' # # '); GOTOXY(X,Y+11);WRITE(' ## ## '); END; END; PROCEDURE POS2(X,Y: INTEGER); BEGIN IF (X>=0)AND(Y>=0) THEN BEGIN GOTOXY(X,Y);WRITE(' ## '); GOTOXY(X,Y+1);WRITE(' # # '); GOTOXY(X,Y+2);WRITE(' # # '); GOTOXY(X,Y+3);WRITE(' ## '); GOTOXY(X,Y+4);WRITE(' ######## '); GOTOXY(X,Y+5);WRITE('# # # # '); GOTOXY(X,Y+6);WRITE('## # # ## '); GOTOXY(X,Y+7);WRITE(' # # '); GOTOXY(X,Y+8);WRITE(' ## '); GOTOXY(X,Y+9);WRITE(' ## ## '); GOTOXY(X,Y+10);WRITE(' # # '); GOTOXY(X,Y+11);WRITE(' ## ## '); END; END; PROCEDURE POS3(X,Y: INTEGER); BEGIN IF (X>=0)AND(Y>=0) THEN BEGIN GOTOXY(X,Y);WRITE(' ## '); GOTOXY(X,Y+1);WRITE(' # # '); GOTOXY(X,Y+2);WRITE(' # # '); GOTOXY(X,Y+3);WRITE(' ## '); GOTOXY(X,Y+4);WRITE(' ######## '); GOTOXY(X,Y+5);WRITE(' # # # # '); GOTOXY(X,Y+6);WRITE('## # # ## '); GOTOXY(X,Y+7);WRITE(' # # '); GOTOXY(X,Y+8);WRITE(' ## '); GOTOXY(X,Y+9);WRITE(' ## ## '); GOTOXY(X,Y+10);WRITE(' # # '); GOTOXY(X,Y+11);WRITE(' ## ## '); END; END; BEGIN PROMOTKA(24); REPEAT POS1(20,10); WAIT(3000); POS2(20,10); WAIT(3000); POS1(20,10); WAIT(3000); POS3(20,10); WAIT(3000); UNTIL 0>0; END.
- выводит 10-ые номера и соотв. им символы.
ПАСКАЛЬ опять же )
(! Важно) Образ дискеты загружается только в эмуляторе ДВК - Patrona, но данные читаются везде конечно! )Код:PROGRAM SHOWKEYS; VAR INKEY ORIGIN 177560B: INTEGER; KEY ORIGIN 177562B: INTEGER; I: INTEGER; /* SHKEYS v0.1a */ FUNCTION KEYPRESS: BOOLEAN; BEGIN KEYPRESS:=FALSE; INKEY:=0; IF(INKEY AND 128)<>0 THEN KEYPRESS:=TRUE; END; BEGIN I:=0;WRITELN; WRITELN('[ Номер \ Символ ]'); FOR I:=32 TO 127 DO WRITE('[ I=',I:2,' \ ',CHR(I),' ]'); REPEAT WRITELN; WRITELN('[',CHR(14),' tEST KLAWIATURY ',CHR(15),']'); REPEAT UNTIL KEYPRESS; WRITELN('[ 177562=',KEY:3,'. \ SYM=',CHR(KEY):3,' ]'); IF KEY=3 THEN BEGIN WRITELN(CHR(15),'[ SHKEYS v0.1a ]'); /*$C EMT ^O350 */ END; UNTIL 0>0; END.
На дискете присутствуют PASY2K.(SAV,OBJ) - пропатченный и поправленный form'ом и PASDWK.(SAV,OBJ) - OMSI Pascal.
![]()




Ответить с цитированием



Размещение рекламы на форуме способствует его дальнейшему развитию 
