![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| iff |
|
||||||||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: нет Всего: 16 |
При подключении модуля Crt проподает возможность перенаправить поток ввода (поток вывода мне не нужно перенаправлять).
Допустим есть код:
Если его откомпилировать, получим программу readstr.exe. Текстовой файл s.txt допустим содержит:
При вводе в командную строку:
Программа выводит:
Всё нормально. Но если добавить в программу "Uses Crt;", то поток ввода не перенаправляется, программа ожидает ввода с клавиатуры. Вероятно, crt работает не через прерывания DOS, а через прерывания BIOS, а то и вовсе напрямую с буфером клавиатуры. Установка DirectVideo равным False не помогает. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
||||||||
|
|||||||||
| ФедосеевПавел |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 2 Всего: 10 |
Я долго чухался, но может ещё не поздно.
У тебя два пути: 1. Отключить в самом начале программы CRT быстрый ввод ( Assign(input, ''); Reset(input); ). 2. Определить перенаправление ввода. А потом отключать CRT-ввод указанным способом. Примеры обнаружения перенаправления я встречал в RSWAG'ах. Online исходники примеров здесь. Помню, когда экспериментировал с ними, не все определяли перенаправление, или давали инверсный результат.
Это сообщение отредактировал(а) ФедосеевПавел - 3.5.2012, 19:51 |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: нет Всего: 16 |
Спасибо
-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |