OberonCore
https://forum.oberoncore.ru/

не могу ввести данные через In.Int
https://forum.oberoncore.ru/viewtopic.php?f=35&t=5393
Страница 1 из 1

Автор:  Александр Богданов [ Суббота, 18 Апрель, 2015 16:39 ]
Заголовок сообщения:  не могу ввести данные через In.Int

Добрый день.
не могу ввести данные через Log: In.Int (n) - "не останавливается" для ввода, а "пролетает" дальше по тексту программы. (((
Код:
MODULE TestInput;
   IMPORT  StdLog, In;
PROCEDURE InIn*;
VAR n: INTEGER;
BEGIN
      n:=0;
      StdLog.Ln;
      StdLog.String('Введите N=');
      In.Open; In.Int(n); (*ASSERT( n>0 );*)
      StdLog.Ln;
      StdLog.String("Ввели N="); StdLog.Int(n); StdLog.Ln;
END InIn;
END TestInput.

 TestInput.InIn

это Log:
Код:
компилируется "TestInput"   88   0

Введите N=
Ввели N= 0

что я делаю неправильно?

Автор:  Илья Ермаков [ Суббота, 18 Апрель, 2015 18:49 ]
Заголовок сообщения:  Re: не могу ввести данные через In.Int

Так это...

In вводит данные без остановки, в качестве потока ввода рассматривается выделенный текст.
Посмотрите документацию на In.

Либо лучше использовать модуль In в варианте i21sysIn, там можно не выделять, а по умолчанию поток ввода - сразу за командой после командера.
(i21sys можно найти в коллекции компонентов Oberon Core, или если используете школьную сборку от Информатики-21, он там уже есть).

Автор:  Александр Богданов [ Суббота, 18 Апрель, 2015 23:03 ]
Заголовок сообщения:  Re: не могу ввести данные через In.Int

Спасибо большое.
Я неправильно понял "the target focus text."
Все заработало.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/