Задача: Напишите программу, которая выдает сообщение в текстовое окно.Координаты окна и координаты для сообщения вводиться с клавиатуры.Цвет экрана и цвет символов задайте с помощью датчика случайных чисел.
program okno; uses Crt; var A, B, X, Y, K, L:integer; begin TextColor(A); TextBackGround(B); ClrScr; Randomize; A:=Random(16); B:=Random(16); writeln('Введите координаты окна'); readln(X, Y); Window(X, Y); writeln('Введите координаты сообщения'); GotoXY(K, L); read(K, L); writeln ('Задача решена'); end.
Пишу в программе Pascal ABC..В конце программы я уверен написано совсем не то,что нужно,там я совсем запутался...Подскажите пожалуйста!
IUnknown
17.09.2011 13:31
Цитата
Пишу в программе Pascal ABC.Она ругается на процедуру window.(Ошибка: неверное количество фактических параметров)
Какая разница где? Процедура Window всегда принимает 4 параметра, а не 2 (разница - только в смысле параметров, скажем, в Турбо Паскале подразумеваются координаты X и Y левого верхнего и правого нижнего окна, а в PascalABC - координаты (X, Y) верхнего левого угла и ширина/высота).
Ну, а вообще - не самая хорошая идея писать программы для PascalABC, использующие модуль CRT... Тот компилятор, который был написан не для .NET, уже давно не поддерживается, последние версии компилятора написаны именно под .NET, и программу, написанную с использованием CRT просто не удастся отладить, потому что запустить ее в режиме отладки PascalABC не даст. Так что тут надо подумать, продолжать пользоваться PABC и мучаться со старым модулем (даже если программа успешно откомпилируется - я совсем не уверен, что она будет адекватно себя вести), или брать какой-то другой компилятор.
P.S. Не надо в самом начале делать
TextColor(A); TextBackGround(B); ClrScr;
, это приведет к тому, что и цвет фона и цвет выводимых символов будут черными (и A и B автоматически инициализируются нулем, а это именно черный цвет), и ты элементарно ничего не увидишь. Либо установи какие-то конкретные цвета, либо не меняй ничего вообще.
SpeedFire
17.09.2011 13:57
C window разобрался!Просто учебник отсканированый,я думал там точка,а там запятая!)Теперь понятно, спасибо IUnknown,сейчас попробую дописать программу
SpeedFire
17.09.2011 14:23
program sdfl; uses crt; var A, B, W, X, Y, Z, O, P : integer; begin Randomize; A:=Random(16); B:=Random(16); write('Введите координаты окна:'); readln(W, X, Y, Z); window(W, X, Y, Z); write ('Введите координаты сообщения:'); readln(O,P); GotoXY(O,P); write('Задача решена!'); TextColor(A); TextBackGround(B); ClrScr; end.
Вот написал все получилось, кроме конечного сообщения "задача решена!",оно почему то не появляется.
Добавлено через 9 мин. Получилось написать "задача решена",поставил readln после строчки write('Задача решена'); НО теперь цвета не работают :D
IUnknown
17.09.2011 14:34
Делаешь так:
program sdfl; uses crt; var A, B, W, X, Y, Z, O, P : integer; begin //Randomize; //A:=Random(16); //B:=Random(16); write('Введите координаты окна:'); readln(W, X, Y, Z); window(W, X, Y, Z); write ('Введите координаты сообщения:'); readln(O,P); GotoXY(O,P); write('Задача решена!'); //TextColor(A); //TextBackGround(B); //ClrScr; end.
, компилируешь, жмешь Shift+F9 (чтоб запустить), вводишь координаты, и внимательно читаешь ответ программы. А теперь еще раз прочитай, что я тебе написал выше, особенно во втором абзаце.