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

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

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

        Он может вообще без прерывания выводиться. :whistle:
          shm
          По информации ТС исполняемый модуль компилирован в BorlandTBasic - так что прямая работа с видеопамятью не сильно вероятна.
            Вот 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 у меня еще десятки. Это комплекс программы. Сюда выложил с наименьшим кол-вом строк.
                    Фактически, нужен лаунчер для этих программ, который перехватывает вывод строк (подменяя прерывание, или патча сам код), подменяя их переводами. Или патч, который подменяет строки.
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0341 ]   [ 17 queries used ]   [ Generated: 28.03.24, 14:42 GMT ]