Листинг 1 '''''''''''''''''''''''''' ' Модуль SYMCONV.BAS ' '''''''''''''''''''''''''' SUB SymbolConv (Text$, Integ%()) ' ' Переписать содержимое строковой переменной ' в массив + добавить CHR$(0) в конец ''''''''''''''''''''''''''''''''''''''''''''''''''' temp$ = Text$ + STRING$(2, 0) LenS% = LEN(temp$) \ 2 REDIM Integ%(1 TO LenS%) FOR n% = 1 TO LenS% Integ%(n%) = CVI(MID$(temp$, n% * 2 - 1, 2)) NEXT n% END SUB Листинг 2 '********************************************** '* Фрагмент модуля HLEV.BAS * '* графической библиотеки * '* Enhanced Graphics Toolkit * '*--------------------------------------------* '* Стыковка с основным модулем библиотеки * '* CALLS EGA16C(Func(1), Param(1)) * '********************************************** DEFINT A-Z DIM SHARED Param(20), Func(2) SUB DRWLOG (Logic) STATIC ' Установка логики графического вывода ' (нет аналога в MS Basic) ''''''''''''''''''''''''''''''''''''''''' CALLS EGAC16(4, Logic) END SUB SUB RECTAB (ix1, iy1, ix2, iy2, fill) STATIC ' Вывод на экран прямоугольника ' fill = True - закраска прямоугольника ' Basic аналог: ' LINE (ix1, iy1)-(ix2, iy2),, {B|BF} '''''''''''''''''''''''''''''''''''''''''' Param(0) = ix1: Param(1) = iy1: Param(2) = ix2: Param(3) = iy2 IF (fill) THEN Fun = 11 ELSE Fun = 10 CALLS EGAC16(Fun, Param(1)) END SUB SUB TEXT (Word$) STATIC ' Вывод текста в графическом режиме ' (не путать с оператором PRINT!) ' 1) позиционирование в графических координатах ' 2) управление логикой рисования '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Func(0) = 17: Func(1) = LEN(Word$) temp$ = tx$ + "null": inc = 1 FOR n = 0 TO (Func(1) / 2) Param(n) = ASC(MID$(temp$, inc + 1, 1)) Param(n) = (256 * Param(n)) + ASC(MID$(temp$, inc, 1)) inc = inc + 2 NEXT n: CALLS EGAC16(Func(1), Param(1)) END SUB