Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Обнулить DATA в BASIC

  1. #1
    Veteran Аватар для JeRrS
    Регистрация
    02.02.2005
    Адрес
    г. Екатеринбург
    Сообщений
    1,301
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    74 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Обнулить DATA в BASIC

    0
    Последний раз редактировалось JeRrS; 06.01.2013 в 18:21.
    Группа в ВК, посвященная кассетным версиям игр для спектрума
    В коллекции:Pentagon 128 (YM+TR-DOS), Кворум 128+, Дельта 128, Эксперт-006, Рифей-01, Квант V3.а, Квант (Didaktik), Спектр БК-001, Sintez-M (Intercompex), Компаньон-2 (V2.2)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,090
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть волшебная команда restore n где n - строка с данными которые будут считываться по команде read.
    Когда есть, но не знаешь где - это все равно, что нету.

  4. #3
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет. В текстовых строках "тэги" цвета входят в общую строку.
    Если нужно выводить цветные буквы из строки, организуй второй массив, цифры в котором будут означать цвет. На каждую букву - по цифре
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  5. #4
    Master Аватар для siril
    Регистрация
    01.02.2005
    Адрес
    perm/ru
    Сообщений
    520
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно создать двумерный массив, прочитать всё в него, затем ходить по нему =)

    если делать в том стиле как ты задумал надо:

    10 DATA 1,7, 2,6, 3,5, 4,4, 5,3, 6,2, 7,1
    30 READ B
    40 READ P
    50 BORDER B, PAPER P, CLS
    60 READ B,P: GOTO 50

    Данные для бордера и бумаги хранятся парами, друг за другом.
    Последний раз редактировалось siril; 15.09.2010 в 19:47.
    oisee.

  6. #5
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,090
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проще делать это, вычисляя "полное" значение ink+paper+bright+flash. И места будет занимать будет меньше и "глобально" меняет одним оператором poke m,n в системных переменных. Для цвета border также актуально..
    Когда есть, но не знаешь где - это все равно, что нету.

  7. #6
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerrs Посмотреть сообщение
    Так и еще вопрос можно ли как то избежать ошибки если в A$ текст цветной? а то при попытки вызвать его print 0,n;a$(n+1) пишет K Invalid Color
    проверять, что есть по a$(n), если там код, отвечающий за цвет, то делать потом a$(n+2). а по n+2 тоже надо проверять, не цвет ли там... т.е. можно, но сложно.

  8. #7
    Veteran Аватар для JeRrS
    Регистрация
    02.02.2005
    Адрес
    г. Екатеринбург
    Сообщений
    1,301
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    74 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще вопрос, есть заполненная DATA, как через PRINT вызвать допустим по счету третью запись в DATA не чередовая READ с начала?
    Группа в ВК, посвященная кассетным версиям игр для спектрума
    В коллекции:Pentagon 128 (YM+TR-DOS), Кворум 128+, Дельта 128, Эксперт-006, Рифей-01, Квант V3.а, Квант (Didaktik), Спектр БК-001, Sintez-M (Intercompex), Компаньон-2 (V2.2)

  9. #8
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    если типа так:
    9999 DATA 1,2,3,4,5
    и ты хочешь сразу 3 получить, то по-простому никак. возможно какие-нить POKE в сист. переменные что-то и решат.

  10. #9
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,090
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerrs Посмотреть сообщение
    есть заполненная DATA, как через PRINT вызвать допустим по счету третью запись в DATA не чередовая READ с начала?
    Расписать каждое значение (или группу) в свой оперетор data пронумеровав строки, допустим через 10. А потом вызывать их через restore n подставляя номер нужной записи (с соотв. приращением и шагом).
    Вариант с хранением данных непосредственно в памяти (операторами poke\peek) более "экономичный", но геморный если понадобится что-нить поменять местами или "глобально" изменить в данных.
    Когда есть, но не знаешь где - это все равно, что нету.

  11. #10
    Member
    Регистрация
    12.02.2006
    Адрес
    Львов
    Сообщений
    91
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    23639/23640 "DATADD" - адрес последнего считанного оператором READ объекта данных в операторах DATA.
    То есть навскидочку можно, наверное, читать первый элемент, извлекать его адрес PEEKом из этой переменной, а потом, изменив нужным образом, POKEать обратно. Числовые данные занимают по 5 байт каждое число, символы по одному. Надо поиграться, в общем

    ---------- Post added at 18:38 ---------- Previous post was at 18:34 ----------

    То есть вру, пять байт числового значения идут после записи того же числа в символах, то есть одна позиция числовых данных (с одним разрядом) занимает: байт символа + 5 байт числа + байт запятой, итого семь. А символ, соответственно, два байта (считая запятую). Так, что ли?..

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Подключение дисковода 5,25'' YE Data YD-380C
    от Kuper в разделе Внешние накопители
    Ответов: 17
    Последнее: 07.08.2022, 17:37
  2. laser basic
    от johnny в разделе Программирование
    Ответов: 32
    Последнее: 17.02.2014, 22:57
  3. Орион-128: BASIC
    от ivagor в разделе Орион
    Ответов: 28
    Последнее: 03.05.2012, 20:03
  4. Программы на BASIC
    от form в разделе ДВК, УКНЦ
    Ответов: 14
    Последнее: 17.04.2010, 15:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •