- •Спектрум в школе
- •1. "LISTNAME"
- •2. "REMONT"
- •BETA BASIC
- •ГЛАВА 1. ВВЕДЕНИЕ
- •ГЛАВА 2. РЕДАКТИРОВАНИЕ
- •Курсор текущей строки
- •Команда EDIT <номер строки>
- •Переключение режимов курсора
- •Управление вводом ключевых слов
- •Проверка синтаксиса
- •Команда LIST FORMAT
- •Команда CSIZE
- •Команды JOIN <номера строк> и SPLIT.
- •Управляющий код "новая строка".
- •ГЛАВА 3. ПРОЦЕДУРЫ
- •Передача параметров в виде ссылки
- •Передача параметров списком
- •Рекурсия
- •Ошибки
- •ГЛАВА 4. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
- •ГЛАВА 5. ОБРАБОТКА ДАННЫХ
- •ГЛАВА 6. ГРАФИКА
- •ГЛАВА 7. СЕРВИСНЫЕ И ОТЛАДОЧНЫЕ ВОЗМОЖНОСТИ
- •ЗАЩИТА ПРОГРАММ
- •ЧАСТЬ 1
- •ГЛАВА 1. Исключение возможности остановки программ.
- •1.1. Общие рекомендации.
- •1.2 Подпрограмма обработки сообщений с кодами D, H, L.
- •1.6. Метод защиты, используемый в программе FIST III.
- •2.1. Общие рекомендации.
- •2.3. Использование управляющих кодов.
- •40 ЛУЧШИХ ПРОЦЕДУР
- •РАЗДЕЛ А
- •1. ВВЕДЕНИЕ
- •Общие сведения о Бейсике и машинных кодах
- •2. ВНУТРЕННЯЯ СТРУКТУРА ZX SPECTRUM
- •Карта памяти
- •PEEK и POKE
- •Дисплейный файл
- •Атрибуты
- •Буфер принтера
- •Область программ на BASICe
- •Цифровой пятибайтный формат
- •Область переменных
- •Подпрограммы ПЗУ
- •3. МАШИННЫЙ ЯЗЫК Z80
- •Регистры Z80A
- •РАЗДЕЛ B
- •4. ВВЕДЕНИЕ
- •Загрузчик машинного кода
- •5. Подпрограммы сдвига.
- •5.1 Сдвиг атрибутов влево.
- •5.2 Сдвиг атрибутов вправо.
- •5.3 Сдвиг атрибутов вверх.
- •5.4 Сдвиг атрибутов вниз.
- •5.5 Сдвиг влево на один символ.
- •5.6 Сдвиг вправо на один символ.
- •5.7 Сдвиг вверх на один символ
- •МАСТЕРФАЙЛ 09 полная русификация.
- •ВСТУПЛЕНИЕ.
- •2. Использование дополнительного символьного набора.
- •3. Перевод программы на русский язык.
- •СОВЕТЫ ЭКСПЕРТОВ
- •STALINGRAD
- •Введение.
- •Управление игрой
- •Некоторые детали
- •Уровни сложности игры
- •Выгрузка файлов на ленту
- •Замечания
- •FLIGHT SIMULATION
- •Аспекты полета
- •Приборная панель
- •Управление самолетом
- •Навигация
- •STAR RAIDERS
- •Враги
- •Запуск игры
- •Экран
- •Управление
- •Энергия
- •THE TRAIN
- •Краткий сюжет
- •Настройка программы
- •Экран
- •Управление
- •Мост (BRIDGE)
- •Станция (STATION)
- •Развилка или перекресток (SWITCH)
- •DEATH WISH 3
- •FORUM
- •Проблемы ELITE
- •Итоги конкурса на лучший технологически развитый маршрут.
- •POKES
- •Вопросы совместимости.
- •Просьба о помощи.
- •И снова SHERLOCK.
- •СПЕКТРУМ В ШКОЛЕ
- •К УРОКУ ИСТОРИИ.
- •POKES
- •NETHER EARTH
- •HEAD OVER HEELS
- •INTO THE EAGLE'S NEST
- •URIDIUM
- •AMAUROTE
- •GAUNTLET
- •BETA BASIC
- •РАЗДЕЛ 2. КОМАНДЫ
- •1. ALTER <атрибуты> ТО атрибуты
- •2. ALTER <ссылка> ТО ссылка
- •3. AUTO <номер строки> <,шаг>
- •4. BREAK
- •5. CLEAR число.
- •6. CLOCK число или строка
- •7. CLS <номер окна>
- •8. CONTROL CODES (управляющие коды)
- •Коды управления экранными блоками.
- •9. COPY строка COPY массив
- •10. CSIZE ширина <, высота>
- •11. DEFAULT = устройство
- •12. DEF KEY односимвольная строка; строка
- •13. DEF PROC имя процедуры <параметр><,REF параметр>...
- •14. DELETE <номер строки> ТО <номер строки>.
- •15. DELETE имя массива <пределы>
- •ЗАЩИТА ПРОГРАММ
- •ПРОГРАММА ДЛЯ СНЯТИЯ ЗАЩИТ
- •Глава 3. Методы защиты от MERGE
- •40 ЛУЧШИХ ПРОЦЕДУР
- •5.8 Сдвиг вниз на один символ.
- •5.9 Сдвиг влево на один пиксел.
- •5.10 Сдвиг вправо на один пиксел.
- •5.11 Сдвиг вверх на один пиксел.
- •5.12 Сдвиг вниз на один пиксел.
- •6.ДИСПЛЕЙНЫЕ ПРОГРАММЫ
- •6.1 Слияние картинок
- •6.2. Инвертирование экрана.
- •6.3 Инвертирование символа вертикально.
- •6.4 Инвертирование символа горизонтально.
- •6.5 Вращение символа по часовой стрелке.
- •6.6 Изменение атрибута.
- •6.7 Смена атрибута.
- •6.8 Закрашивание контура.
- •6.9 Построение шаблонов.
- •6.10 Увеличение экрана и копирование.
- •Текстовые сообщения программы MF 09 и их перевод
- •ЗАКЛЮЧЕНИЕ.
- •СОВЕТЫ ЭКСПЕРТОВ
- •PROFESSIONAL TENNIS
- •1. Controles
- •2. Equipamiento
- •3. Entrenamiento
- •4. Caracteristicas
- •0. Torneo
- •SNOOKER
- •Правила игры.
- •Настройка программы.
- •Структура экрана.
- •Начало игры.
- •QUAZATRON
- •CAPTAIN FIZZ
- •Экран программы.
- •Полезные советы.
- •FORUM
- •Версия 1.
- •Версия 2.
- •Версия 3
- •Перелеты к двойным звездам и невидимым звездам.
- •Тайные возможности компьютера.
- •Советы и секреты.
- •СПЕКТРУМ В ШКОЛЕ
- •BETA BASIC
- •17. DPOKE адрес, число
- •18. DRAW ТО x,y <,угол>
- •18. EDIT <номер строки>
- •9. EDIT строковая переменная
- •20. ELSE <оператор>
- •21. END PROC
- •22. EXIT IF <условие>
- •23. FILL x,y
- •24. GET числовая переменная
- •25. GET строковая переменная, x,y <ширина, длинах><;тип>
- •26. JOIN <номер строки>
- •27. JOIN строковый массив или числовой массив.
- •28. KEYIN строковая переменная
- •29. KEYWORDS число.
- •30. LET переменная = число <, переменная = число>...
- •31. LIST <номер строки> TO <номер строки>
- •32. LIST DATA
- •33. LIST DEF KEY
- •ЗАЩИТА ПРОГРАММ
- •Глава 4. Прочие приемы защиты.
- •4.1 Запуск программ в кодах.
- •4.3 Ключевые слова Бейсика в "хэдере".
- •4.4 Мерцающий заголовок.
- •Глава 1. Введение
- •Общие рекомендации.
- •Структура фирменной программы.
- •Небольшая историческая справка.
- •Структура хэдера.
- •Глава 2. Блокировка автозапуска.
- •Введение.
- •2.1 Загрузка Бейсика через блок кодов.
- •40 ЛУЧШИХ ПРОЦЕДУР
- •7. ПРОЦЕДУРЫ ОБРАБОТКИ ПРОГРАММ.
- •7.1 Удаление блока программы.
- •7.2 Обмен токена.
- •7.3 Удаление REM строк
- •7.4 Создание REM строк
- •7.5 Сжатие программы.
- •8. ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММЫ
- •8.1 Определение размера свободной памяти.
- •8.5 Копирование данных в памяти.
- •ВОЗВРАЩАЯСЬ К НАПЕЧАТАННОМУ
- •КАНАЛЫ И ПОТОКИ
- •ПРОФЕССИОНАЛЬНЫЙ ПОДХОД
- •ОБРАБОТКА ОШИБОК В БЕЙСИКЕ
- •ПРЕДОТВРАЩЕНИЕ ОСТАНОВКИ БЕЙСИК ПРОГРАММЫ
- •1. Блок кодов "ON ERROR GO TO"
- •2. Программа "BEEPER"
- •FORUM
- •Адвентюрные игры.
- •Heavy on the Magic.
- •Полезные советы.
- •Советы и секреты.
- •Письмо читателя.
- •Проблемы совместимости.
- •Проблемы "ELITE".
- •СОВЕТЫ ЭКСПЕРТОВ
- •ACADEMY (TAU CETI II)
- •Работа с меню.
- •Просмотр/выбор клавиш.
- •Прием нового кадета.
- •Меню работы с лентой.
- •Рапорт о выполнении уровня.
- •Выбор скиммера.
- •Проектирование скиммеров.
- •Выбор миссии.
- •Уровень I.
- •Уровень II.
- •Уровень III.
- •Уровень IV.
- •Уровень V.
- •Полезные советы по сборке скиммеров.
- •Выполнение миссии.
- •Сводка боевых команд
- •SHERLOCK
- •Понедельник, 8:00
- •Вторник.
- •Среда.
- •НАШ КОНКУРС
- •Письмо читателя.
- •Наши предложения.
- •Наши условия:
- •BETA BASIC
- •34. LIST FORMAT число.
- •35. LIST PROC имя процедуры.
- •36. LIST REF.
- •37. LOCAL переменная <,переменная><,переменная>...
- •38. LOOP
- •39. MERGE
- •40. MOVE
- •42. ON ERROR номер строки
- •43. OVER 2.
- •44. PLOT X,Y <;строка>
- •45. POKE адрес, строка
- •46. POP <числовая переменная>
- •47. PROC имя <параметр><,параметр><,параметр>...
- •49. REF метка
- •50. REF имя переменной.
- •52. ROLL код направления <, число><; х, y; ширина, длина >
- •ЗАЩИТА ПРОГРАММ
- •2.2.2 Изменение хэдера для блокировки автозапуска.
- •3.1 Просмотр строк, защищенных управляющими кодами.
- •40 ЛУЧШИХ ПРОЦЕДУР
- •8.5 Составление списка переменных.
- •8.6 Поиск строки.
- •8.7 Поиск и замещение строки.
- •8.8 Поиск подстроки.
- •Формат данных в "Спектруме"
- •Числовая переменная с именем из одной буквы.
- •Числовая переменная с именем более чем из одной буквы.
- •Числовой массив.
- •Переменные цикла.
- •Символьная переменная.
- •Символьный массив.
- •ЭЛЕМЕНТАРНАЯ ГРАФИКА В МАШИННЫХ КОДАХ
- •ЭЛЕМЕНТАРНАЯ ГРАФИКА В МАШИННЫХ КОДАХ
- •Печать чисел.
- •Печать символьных строк.
- •Управляющие символы.
- •Другие приемы управления позицией и цветом печати.
- •Организация экранной памяти.
- •Файл атрибутов.
- •Изменение цвета бордюра.
- •Эмуляция команд БЕЙСИКа из машинного кода.
- •Скроллинг экрана.
- •PAUSE
- •Рисование точек.
- •Рисование прямых линий.
- •Рисование дуги.
- •Рисование окружности.
- •Проверка точки экрана.
- •Проверка атрибутов экрана.
- •Проверка содержимого заданного знакоместа.
- •СЛУЧАЙНАЯ ГРАФИКА
- •СЛУЧАЙНАЯ ГРАФИКА
- •Проблемы скорости работы.
- •Трансляция БЕЙСИКа в машинный код.
- •КРИБЕДЖ
- •КРИБЕДЖ
- •Игра.
- •Стратегия в крибедже.
- •Пример розыгрыша партии.
- •Программа
- •Комментарий
- •THE DARK WHEEL
- •ГЛАВА 1.
- •СПЕКТРУМ В ШКОЛЕ
- •BETA BASIC
- •53. SAVE <строка TO строка;> устройство;> имя
- •54. SCROLL код направления <,число> <;x,y; ширина, длина>
- •55. SORT
- •56. SPLIT (не ключевое слово).
- •57. TRACE номер строки
- •58. UNTIL условие.
- •59. USING, USING$
- •60. VERIFY <строка TO строка;> устройство;> имя
- •61. WHILE условие.
- •62. WINDOW номер окна <,x,y,w,l>
- •РАЗДЕЛ 3. ФУНКЦИИ
- •1. AND (число, число)
- •3. CHAR$ (число)
- •4. COSE (ЧИСЛО)
- •5. DEC (символьная строка)
- •ЗАЩИТА ПРОГРАММ
- •3.2 Работа со встроенными машинными кодами.
- •Глава 4. Изучение блоков в машинных кодах.
- •4.1 Введение.
- •4.2 Адаптация фирменных программ под индивидуальный вкус.
- •4.2.2. Новые возможности программы "RENEGADE".
- •Введение.
- •ГЛАВА 1.
- •ПРОФЕССИОНАЛЬНЫЙ ПОДХОД
- •"ДЕБЮТ ПРОГРАММЫ"
- •Блок кодов "REM FILL"
- •УНИВЕРСАЛЬНОЕ МЕНЮ
- •Программа "PRIM"
- •Маленькие Хитрости
- •ВЕКТОРНАЯ ГРАФИКА
- •Сокрытие невидимых линий контура
- •Алгоритм.
- •Маленькие хитрости
- •ОШИБКИ ПЗУ
- •1. Ограничение по использованию регистровой пары IY.
- •2. Особенности регистровой пары H'L' (альтернативной).
- •3. Особенности пользовательской функции FN.
- •4. Ошибка деления.
- •6. Ошибка оператора PLOT.
- •7. Ошибка первого экрана в компьютерах 128К.
- •Blinky's
- •СОВЕТЫ ЭКСПЕРТОВ
- •OPERATION HORMUZ
- •TOMAHAWK
- •SKY RANGER
- •TYPHOON
- •THE DARK WHEEL
- •ГЛАВА 2.
- •BETA BASIC
- •6. DPEEK (адрес).
- •7. EOF (номер потока).
- •8. FILLED ().
- •9. HEX$ (число).
- •11. INSTRING (старт, строка 1, строка 2).
- •12. ITEM ()
- •13. LENGTH (n, "имя массива")
- •15. MEMORY$ ()
- •16. MOD (число, число)
- •17. NUMBER (симв. строка)
- •18. OR (число, число)
- •19. RNDM (число)
- •20. SCRN$ (строка, столбец)
- •21. SHIFT$ (число, строка)
- •22. SINE (число)
- •23. STRING$ (число, строка)
- •24. TIME$ ()
- •25. USING$ (строка, число)
- •26. XOR (число, число)
- •ПРИЛОЖЕНИЕ 1
- •ПРИЛОЖЕНИЕ 2.
- •ПРИЛОЖЕНИЕ 3
- •Коды ошибок.
- •ЗАЩИТА ПРОГРАММ
- •1.2 Смещение системной переменной PROG.
- •1.3 Кодирование и декодирование блоков машинных кодов.
- •1.4 Новые POKES.
- •Том 4. Методы защиты программ от копирования.
- •Введение.
- •ОШИБКИ ПЗУ
- •8. Ошибка CLOSE#.
- •9. Ошибка CHR$ 9.
- •10. Ошибка CHR$ 8.
- •11. Ошибка STR$.
- •12. Ошибки кодов управления цветом.
- •13. Ошибка SCREEN$.
- •Ошибки в редакторе
- •14. Ошибка Scroll?.
- •15. Ошибка курсора текущей строки.
- •16 Ошибка ведущего пробела.
- •18 Ошибка проверки синтаксиса.
- •Ошибки калькулятора
- •19. Ошибка MOD_DIV.
- •20. Ошибка E_TO_FP.
- •21. Ошибка INKEY$#0.
- •ПРОФЕССИОНАЛЬНЫЙ ПОДХОД
- •Блок кодов, воспроизводящий звук.
- •Программа "SOUND"
- •Ввод параметров при помощи оператора INPUT.
- •КАК ЭТО ДЕЛАЕТСЯ!
- •RANARAMA
- •Техническое задание.
- •Предварительные исследования.
- •1. Дизайн экрана.
- •2. Раскладка оперативной памяти.
- •3. Упаковка данных.
- •4. Специальные алгоритмы.
- •5. Проверка концепции.
- •Дизайн программы.
- •Машинный код.
- •Звук и музыка.
- •Одноступенчатая модуляция.
- •Пилообразная модуляция
- •Треугольная модуляция
- •Двуступенчатая модуляция
- •Программа.
- •СОВЕТЫ ЭКСПЕРТОВ
- •FLYER FOX
- •COBRA FORCE
- •THUNDER BLADE
- •SANXION
- •AIR WOLF
- •1943 THE BATTLE OF MIDWAY
- •THE DARK WHEEL
- •ГЛАВА 3.
- •ГЛАВА 4
VERIFY "test"
MERGE "test"
ERASE "test" CAT
При этом, чтобы использовать микродрайв 2, можно либо задать DEFAULT = m2, а можно и не задавать, а использовать:
SAVE 2, "test"
LOAD 2, "test"
ERASE 2, "test" CAT 2
Вы можете вместо номера использовать переменную, например:
LET x=2: DEFAULT mx
Но нельзя использовать для этой цели строковую переменную.
Даже если в качестве устройства ввода/вывода назначен магнитофон, такие команды как SAVE 1; "abc" или LOAD n,"prog" будут работать с микродрайвом, поскольку заданный параметр номера однозначно указывает на то, что речь не идет о магнитофоне. Текущие параметры установки устройства будут выгружены вместе с кодом БЕТА БЕЙСИКа, если Вы захотите выгрузить свою программу и БЕТА БЕЙСИК вместе с ней.
Примечание: БЕТА БЕЙСИК разрешает в командах, связанных с микродрайвом использовать запятую "," вместо точки с запятой ";".
12. DEF KEY односимвольная строка; строка
или
DEF KEY односимвольная строка; оператор: оператор: ...
Клавиша: 1 (та же, что и DEF FN). См.также LIST DEF KEY
БЕТА БЕЙСИК позволяет присвоить любой цифровой или буквенной клавише значение символьной строки или программных строк. При этом символы могут вводиться в
компьютер, а могут оставаться в нижней части экрана (в области редактирования) до нажатия ENTER.
Последний случай реализуется следующим образом: надо сделать так, чтобы последним символом Вашей строки стояло двоеточие ":" или чтобы последним оператором программной строки стоял оператор ":". Попробуйте:
DEF KEY "1"; "HELLO: "
Теперь нажмите совместно SYMBOL SHIFT и SPACE. Курсор изменится и станет мигающей звездочкой. Если Вы теперь нажмете клавишу "1", в нижней части экрана появится надпись HELLO. Поскольку никакие другие клавиши не были переопределены, при их нажатии Вы получите их нормальные значения.
DEF KEY "a":PRINT "Goodbye"
В этом примере часть программной строки, следующая после DEF KEY "а", присваивается клавише "а" (или "А", что одно и то же). Эта строка не исполняется после ее набора. После же того, как Вы нажмете SYMB SHIFT + SPACE и затем нажмете "а", она будет введена и исполнена, поскольку она не заканчивается двоеточием.
DEF KEY "a"; "10 RЕМ hello"
Такая строка после нажатия на клавишу "а" будет реально введена в листинг программы после того, как пройдет проверку на синтаксис.
Клавише можно сделать переприсвоение в любое время. Старое значение при этом будет переписано. Если присвоить клавише пустую строку или если после задания клавиши нет ни одного оператора, клавиша не будет иметь определения. Оператор DEF KEY ERASE уничтожит все сделанные определения, в том числе и те, которые размещены выше RAMTOP и, тем самым, защищены даже от NEW. Процедура SAVE в загрузчике БЕТА БЕЙСИКа выгрузит все определения клавиш вместе с машиннокодовой частью БЕТА БЕЙСИКа (она производит выгрузку кода от RAMTOP до конца БЕТА БЕЙСИКа).
Чтобы просмотреть все определения клавиш, пользуйтесь командой LIST DEF KEY. Если желаете подредактировать определение, присвоенное клавише, то можете выполнить
следующий прием. Наберите номер строки, затем нажмите номер желаемой клавиши и Вы получите редактируемую строку, которую Вы сможете оформить в оператор DEF KEY. RAMTOP автоматически понижается, когда Вы задаете клавиши. Если Вы воспользуетесь обычным CLEAR для изменения RAMTOP, то вполне может быть, что Ваши определения клавиш пропадут. С другой стороны, БЕТА БЕЙСИК имеет другой вариант CLEAR (см. выше), с помощью которого можно без риска для определений клавиш выделять пространство для своего машинного кода выше уровня RAMTOP.
13. DEF PROC имя процедуры <параметр><,REF параметр>...
или
DEF PROC имя процедуры <DATA>
Клавиша: 1 (та же, что и DEF FN).
См. также PROC, END PROC, LOCAL, DEFAULT, LIST PROC, REF,ITEM.
Оператор DEF PROC открывает определение процедуры. Он должен быть первым оператором в программной строке (разрешаются только ведущие пробелы или предшествующие управляющие цветовые коды). Имя процедуры должно обязательно начинаться с буквы, а заканчиваться может пробелом, двоеточием, REF, ENTER или DATA. Имя процедуры может быть записано почти любыми символами, за исключением пробела, но желательно, чтобы Вы использовали буквы, цифры, знак подчеркивания "_", и, пожалуй символы "#" и "$". Буквы верхнего и нижнего регистров эквивалентны. Процедура может иметь то же имя, что и переменная и путаница не произойдет.
За именем процедуры может идти список параметров или ключевое слово DATA. Параметры, заданные в определении процедуры, называются формальными параметрами. Это имена переменных. Когда процедура будет вызвана, то все имеющиеся в ней переменные с именами, совпадающими с формальными параметрами, будут защищены и только потом им будут присвоены значения фактических параметров, присутствующих в вызове. Когда же перед именем формального параметра стоит REF, все происходит почти так же, но в добавок по окончании работы процедуры значение формального параметра будет присвоено соответствующему фактическому параметру. В процедуре могут участвовать и массивы, но они обязательно должны быть оформлены как ссылки, то есть перед именем массива в определении процедуры обязательно должно стоять REF.
Когда вместо списка параметров стоит ключевое слово DATA, никаких переприсвоений не делается, а список фактических параметров при вызове процедуры может быть принят с использованием оператора READ и функции ITEM.
14. DELETE <номер строки> ТО <номер строки>.
Клавиша 7 (та же, что и ERASE).
Команда удаляет все строки в указанном блоке программы. Если номер начальной строки опушен, предполагается минимальный, отличный от нуля. Если опущен номер конечной строки удаления, принимается номер последней строки программы.
Примеры.
DELETE ТО 100 удаляет все строки после нулевой и до строки 100 включительно;
DELETE 100 ТО удаляет строку 100 и все последующие; DELETE 100 ТО 100 удаляет только строку 100;
DELETE 0 ТО 0 удаляет только нулевую строку;
DELETE ТО удаляет всю программу, за исключением нулевой строки. Последний пример отличается от NEW тем, что не вычищает программные
переменные. Все строки, явно указанные в операторе, должны реально существовать, иначе Вы получите сообщение об ошибке:
U "No such line" (нет такой строки).
DELETE можно включать в текст программы, но с некоторыми предосторожностями. Когда вышележащие строки программы удаляются оператором DELETE, расположенным в подпрограмме, процедуре, в цикле FOR...NEXT или DO...LOOP, программа обычно прекращает нормальную работу, поскольку запомненный адрес возврата уже не
соответствует реальным новым адресам строк. Если же оператор DELETE применяется для того, чтобы удалить самого себя из программы, он должен быть последним оператором в строке.
Возможное применение DELETE в программе это удаление строк DATA после того, как они уже были прочитаны для того, чтобы освободить память для программных переменных, поскольку числа в строках DATA очень сильно расходуют память по крайней мере по 8 байтов на каждое число. Программа может также удалять часть строк для того, чтобы подзагрузкой выполнить MERGE нового блока на освободившееся место.
15. DELETE имя массива <пределы>
или
DELETE строка <пределы> Клавиша 7 (та же, что и ERASE)
Кроме удаления программных строк, DELETE может удалять массивы полностью или частично и символьные строки.
10 LET a$ = "123456789"
20 DELETE a$ (4 ТО 7)
30 PRINT a$: REM Prints "12389"
40 DELETE a$
50 PRINT a$: REM переменная не найдена
Когда удаляется строковая переменная, то она перестает существовать полностью, а не просто становится пустой строкой. Команда работает одинаково для строк и для массивов. Создайте массив для эксперимента и попробуйте:
10 DIM а$ (10,4)
20 FOR n=1 ТО 10
30 LET a$(n)=CHR$(64+n)+"xxx"
40 NEXT n
50 FOR n=1 TO length (1,"a$")
60 PRINT а$ (n)
70 NEXT n
В строке 50 использована функция LENGTH вместо числа 10 потому, что количество элементов в массиве будет изменяться. Теперь добавьте дополнительные строки:
45 DELETE a$ (3)
45 DELETE a$ (3 ТО)
45 DELETE a$ (ТО 4)
45 DELETE a$
Опять запустите программу командой RUN и посмотрите, какие элементы будут удаляться. В числовом массиве команда DELETE a(6) удалит шестой элемент, если массив одномерный или целую строку элементов, если массив двумерный.
DELETE а(3 TO 8) удалит "вырезку" из элементов одномерного массива или группу строк из двумерного. (В числовом двумерном массиве количество рядов задаете первым числом.)
Продолжение следует.