Мдяяя, это самая сложная сторона из разработки блокнота который будет работать прямо в консоли DS, чесно говоря этот вариант не подойдет для больших объемов, так как буфер DS для ввода и вывода данных составляет 2кб:)
Хотя можно сделать и чтобы данные записывались в файл, когда превышается лимит буфера... и прокрутку таким образом тоже в принципе можно было бы замутить, но это уже потом...
Что для этого нужно, во первых, если ты будеш вводить что то в консоль, то в любом случае это будет использоваться как команда, но... сработает она когда реально произойдет выход из функции, то есть из запущенного скрипта, который в свою очередь управлялся функцией в DS...
Для этого можно удолить все написаное из буфера(записав все это в файл предварительно) функцией:
Таким образом очистятся буферы экрана и командной строки.
Но это уже после выхода из блокнота делать будет, для того чтобы все написаные строки не засчитались как команды:)
Думаем что делать с ожиданием ввода...
Вот например есть функция которая ждет нажатие любой кнопки клавиатуры:
Она возвращает число, которое в свою очередь означает нажатую клавишу...
Если нажата клавиша, то возвращается ascii кодировка нажатого символа...
С помощью функции:
Код:
DS.input_insertbuff(ascii сюда)
нажатая клавиша(буква, пробел, энтер) добавится в буфер...
Но зачем в принципе так заморачиваться, ведь все равно каждое нажатие добовляется в буфер и как ты спрашивал что бы типа поставить курсор на следущую строку и ждать ввода делается довольно просто... просто в цикл поставь фнкцию DS.conio_getch()
Вот только проблема есть с тем, что из буфера ты этого ничего не возьмеш потом:)Это я просто немного принципа объяснил:)
Тебе нужно это сохранять куда то постоянно, ведь такая фишка как ты делал в предыдущий раз с аргументами не проканает, думаю сам понимаеш почему:)
Тебе нужно сделать свой буфер и функцию которая запихнет нажатый символ в него, что то типа DS.input_insertbuff(ch)
но свое...
Ну это я тебе пока писать не буду, попробуй сам, если будут проблемы то пиши конечно помогу...