Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2009, 22:21   #1
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
Восклицание Как задать цвет и толщину бордюра окна в Паскале!!!

Как задать цвет и толщину бордюра окна в Паскале!!!???


-----------------------------------------------------------


Добрый вечер!Сразу к делу.Вот задание:
Создать постоянно меняющуюся мозаику из разноцветных окон, разных размеров (использовать функцию Random). Для остановки использовать клавишу Escape

Вот то что я смог реализовать:
Код:
Program Mo3auKA;
uses CRT;
var x1,x2,x3,x4,x5,x6,x7,x8,x9,
		y1,y2,y3,y4,y5,y6,y7,y8,y9:byte;
Begin
randomize;
textbackground(black);
ClrScr;

textbackground(Random(15));
window(1,1,x1,y1);
ClrScr;

textbackground(Random(15));
window(x1+1,y1+1,x2,y2);
clrscr;

readkey;
End.
Мой вопрос один: как заставить окна заполнять экран так чтобы он был заполнен весь!тоесть реализовать - мозаику из окон разных размеров.Остальное я напишу сам.Скажите хотя бы словами.В код я преобразую сам.Заранее Благодарю!!!
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==

Последний раз редактировалось Wi1D; 07.02.2009 в 10:37. Причина: Изменение вопроса
Wi1D вне форума Ответить с цитированием
Старый 06.02.2009, 22:31   #2
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

а тут не проще использовать массив x[0..8] и y[0..8] of byte7
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 06.02.2009, 22:38   #3
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

Впринципе да а как алгоритм тогда построить?вот именно вычесления координат
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 06.02.2009, 23:01   #4
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

Вот написал код, думаю разберешься:
Код:
Uses CRT;
var x,y:array[1..2] of byte;
b:boolean;
Begin
randomize;
textbackground(black);
ClrScr;
repeat
textbackground(Random(15));
b:=false;
x[1]:=random(80)+1;
y[1]:=random(25)+1;
x[2]:=random(79-x[1])+x[1];
y[2]:=random(24-y[1])+y[1];
window(x[1],y[1],x[2],y[2]);
textbackground(Random(15));
window(x[1],y[1],x[2],y[2]);
clrScr;
delay(10000);
if keypressed then b:=readkey=#27;
until b;
End.
pomoshnic вне форума Ответить с цитированием
Старый 06.02.2009, 23:32   #5
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

этот код не работает
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 06.02.2009, 23:32   #6
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

и делает не то что требуеться
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 07.02.2009, 00:01   #7
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
Вопрос

Цитата:
Сообщение от Wi1D Посмотреть сообщение
этот код не работает
А что наработает, и какой средой вы пользуетесь? Я проверил в Turbo Pascal 7.0 и free pascal 2.2.2, и работает, правда в free pascal 2.2.2 значение delay нужно изменить на 200.
Цитата:
и делает не то, что требуется
может я, не так понял условие ,
имхо нужно создавать окна со случайным размером и случайным цветом пока не будет нажата клавиша "esc".

Последний раз редактировалось pomoshnic; 07.02.2009 в 00:04.
pomoshnic вне форума Ответить с цитированием
Старый 07.02.2009, 00:05   #8
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

у мя в Turbo Pascal 7.0 выдает RANGE CHECK ERROR
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 07.02.2009, 00:13   #9
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

pomoshnic спасибо!!!!все работает!просто я изменил код в 2х моментах!!!
x[2]:=random(79-x[1])+x[1]; <== тут поставил вместо 79 - 80
y[2]:=random(24-y[1])+y[1]; <== тут поставил вместо 24 - 25

И все заработало!)))
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 07.02.2009, 00:22   #10
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

и еще маленький вопрос.... как прописать тип рамки (одинарная или двойная) и цвет рамки?!
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Геометрия на Паскале NikiFX Фриланс 11 04.12.2009 20:38
L=2*pi*R и S=pi*R на паскале. MjRed Помощь студентам 1 02.02.2009 09:52
привет всем! помогите пожалуйста решить две задачи на паскале. я в паскале полный ноль. Пищенок Саша Паскаль, Turbo Pascal, PascalABC.NET 5 20.01.2009 13:46
БД На Паскале igorjouk Помощь студентам 12 21.11.2008 13:22
На Паскале Bagsi Помощь студентам 13 21.11.2007 21:40