Радио-86РК/Радио 07,08-91/Новый знакогенератор/Таблица 2
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Автор: Ю. ИГНАТЬЕВ |
Таблица 2 10 REM FONT DESIGNER V2.5 20 CLS 50 BS=&5000 40 CUR 15,20: PRINT "*** ПРОЕКТИРУЕМ "; 50 PRINT "ЗНАКОГЕНЕРАТОР ***" 60 CUR 10,14: PRINT "+--------+" 70 CUR 10,5: PRINT "+--------+" 80 FOR I=15 TO 6 STEP-1: CUR 10,1 90 PRINT" ' '": NEXT I 100 GOSUB 7401 CUR 24,14: PRINT "НОМЕР ЗНАКА : "; 110 PRINT CHR$(8);CHR$(8);CHR$(8); 120 CUR 37,14: PRINT " ":CUR 58,14 130 INPUT С: ST=8*C 140 FOR I=0 TO 7: B=PEEK(BS+ST+1) 150 CUR 5,15-I: PRINT @(B): GOSUB 670: NEXT I 160 GOSUB 740: CUR 24,15: PRINT "I - СЛЕДУЩИЙ ЗНАК," 170 PRINT TAB(24); "2 - РЕДАКТИРОВАНИЕ," 180 PRINT TAB(24)) "5 - ИНВЕРСИЯ," 190 PRINT TAB(24); "4 - ОЧИСТКА ЗНАКОМЕСТА," 200 PRINT TAB(24); "5 - ЗАКОНЧИТЬ РАБОТУ." 210 PRINT TAB(24); " ВЫБИРАЙТЕ : "; 220 FOR I=0 TO 5: PRINT CHR$(8);: NEXT I 230 N$=INKEY$: IF LEN(N$)=0 THEN 230 240 N=ASC(N$)-48 250 IF N<1 OR N>5 OR N<>INT(N) THEN 160 260 ON N GOTO 100, 270, 610, 640, 780 270 X=0: Y=0: ADR=BS+ST 280 GOSUB 740: CUR 24,13: PRINT " "; 290 PRINT " КЛАВИШИ :" 300 PRINT ТАВ(24); "ПЕРЕМЕЩЕНИЕ - 'СТРЕЛКИ'," 310 PRINT ТАБ(24); "ПОСТАВИТЬ ТОЧКУ - 'ТОЧКА'," 320 PRINT TAB ( 24); "СТЕРЕТЬ ТОЧКУ - 'ПРОБЕЛ'," 330 PRINT ТАВ(24); "В ОСНОВНОЕ МЕНЮ) - 'R'." 340 Y=O: X=0: GOSUB 720 350 A$=INKEY$: IF LEN(A$)=0 THEN 350 360 A=ASC(A$): RESTORE 370 FOR K=I TO 7 380 READ M 390 IF A=M THEN 420 400 NEXT К 410 GOTO 350 420 ON К GOTO 430, 450, 470, 490, Э10, 560, 160 430 IF X<=0 THEN 350 440 X=X-1: GOSUB 720: GOTO 350 450 IF X>=7 THEN 350 460 X=X+1: GOSUB 720: GОТО 350 470 IF Y<=0 THEN 350 480 Y=Y-1; GOSUB 720: GОТО 350 490 IF Y>=7 THEN 350 500 Y=Y+1: GOSUB 720: GОТО 350 510 GOSUB 720: ADR=BS+ST+Y 520 PRINT " ", CHR$(8); 530 BT=PEEK(ADR) AND NOT (2^(7-X)): POKE ADR,BT 540 CUR 5,13-Y: PRINT @(BT) 550 GOSUB 720: GOTO 350 560 GOSUB 720: ADR=BS+ST+Y 570 PRINT CHR$(23); CHR$(8); 580 BZ=PEEK(ADR) OR (2^(7-X): POKE ADR,BZ 590 CUR 5,13-Y: PRINT @(BZ) 600 GOSUB 720: GOTO 350 610 FOR I=0 TO 7: ADR=BS+ST+I: BN=NOT(PEEK(ADR)) 620 BN=BN AND 255: POKE ADR,BN: NEXT I 630 GOSUB 720: GOTO 140 640 FOR I=0 TO 7: ADR=BS+ST+I 650 POKE ADR,255: NEXT I 660 GOSUB 720: GOTO 140 670 FOR J=7 TO 0 STEP -1; BR=INT(B/(2^J) 680 CUR 18-J,18-I 690 IF BR=0 THEN PRINT " ": GOTO 710 700 PRINT CHR$(23); 710 B=B-BR*2^J: NEXT J: RETURN 720 PRINT CHR$(27);"Y";CHR$(Y+45);CHR$(X+43); 730 RETURN 740 CUR 24,13: FOR I=0 TO 6 750 PRINT TAB(24);" 760 NEXT I: RETURN 770 DATA 8,24,25,26,46,32,82