На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: Rust
  
> Написать резидентную программу под MSDOS
    1. выяснить, каким прерыванием выводится текст в некой программе (программу выдам)
    2. написать перехватчик, который будет сверять выводимую строку со строками из файла a.txt, если строка в файле нашлась - вывести текст из той же строки только из файла b.txt

    Если с файлами сложности - можно просто захардкодить строки.

    Так же будет нужен исходник.
    Пишите сюда либо в личку. Проверяю регулярно.
      ИМХО исполняемый файл и файлы со строками можно выложить аттачем к сообщению. И рекомендую также выложить минимальное пояснение по программе (возможно, включая демо-файлы данных для беспроблемного запуска). Это может увеличить количество потенциальных исполнителей.
      Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
      Есть претензии ко мне как к участнику? да ради бога.
      Не нравятся мои ответы? не читайте их.
      В общем, берегите себя. Нервные клетки не восстанавливаются.
        Цитата Парамон @
        1. выяснить, каким прерыванием выводится текст в некой программе (программу выдам)

        Он может вообще без прерывания выводиться. :whistle:
        Цитата TheMachine @
        т.е. в общем случае вы правы конечно, а мне надо спать больше а пить меньше
          shm
          По информации ТС исполняемый модуль компилирован в BorlandTBasic - так что прямая работа с видеопамятью не сильно вероятна.
          Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
          Есть претензии ко мне как к участнику? да ради бога.
          Не нравятся мои ответы? не читайте их.
          В общем, берегите себя. Нервные клетки не восстанавливаются.
            Вот EXE https://yadi.sk/d/v5oJFIBL3GUYfm
            Папку DEMO необходимо положить в корень диска C:\ и запустить C:\DEMO\DEMO.EXE
            Я так же приложил файлы a.txt и b.txt для примера. В a.txt строки которые есть в DEMO.EXE, в b.txt строки которые надо вывести вместо тех, которые в EXE.
            Кодировка 866
              Парамон
              так а что она делает?
              Файл 32 пустой, нажимаешь enter для продолжения и она закрывается.

              Добавлено
              И я правильно понял, что там всего 2 строки общей длиной 71 символ? :D
              Не влезает 1 байт всего что-ли?

              Добавлено
              замени слово "необходимо" на "нужно". profit?
              Сообщение отредактировано: ^D^ima -
              "Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
                В начале программы прямо указано "TURBO BASIC/Copyright (c) 1987 by Borland International/All Rights Reserved"
                Насколько помню, в бэйсике вообще и турбобэйсике в частности, длина строки не хранится вместе со строкой, как в Паскале, и не отмечается особым символом, как в Си. Поэтому строку нельзя не только удлинить, но нельзя и укоротить, придётся заполнять то, что осталось, пробелами, или ещё чем нибудь (можно вставить пробелы между словами, если пустое место перед курсором будет мешать)

                'необходимо' можно заменить на 'требуется'. Это и более точный перевод, и по длине лучше соответствует.
                Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                  Программа делает разные вещи :)
                  Таких exe у меня еще десятки. Это комплекс программы. Сюда выложил с наименьшим кол-вом строк.
                    Фактически, нужен лаунчер для этих программ, который перехватывает вывод строк (подменяя прерывание, или патча сам код), подменяя их переводами. Или патч, который подменяет строки.
                    Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script Execution time: 0,0818 ]   [ 15 queries used ]   [ Generated: 20.07.19, 22:35 GMT ]