IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Программа про окна, Плизз ХЕЛП!!
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Составить программу, получающую информацию о двух окнах (координаты верхнего левого угла, ширину и высоту. nea.gif

Заранее спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






--==KliM==--,
о каких окнах речь? Если о текстовых (созданных с помощью модуля CRT), то WindMin содержит координаты верхнего левого, а WindMax - координаты нижнего правого угла...
НО... В каждый момент времени только одно окно может быть активным, следовательно, работать с двумя окнами сразу, используя ЭТИ переменные, нельзя...

Если же речь об окнах графических (созданных с помощью процедур/функций модуля Graph), то там все зависит от реализации окон.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 24.05.2006 18:21) *

--==KliM==--,
о каких окнах речь? Если о текстовых (созданных с помощью модуля CRT), то WindMin содержит координаты верхнего левого, а WindMax - координаты нижнего правого угла...
НО... В каждый момент времени только одно окно может быть активным, следовательно, работать с двумя окнами сразу, используя ЭТИ переменные, нельзя...

Если же речь об окнах графических (созданных с помощью процедур/функций модуля Graph), то там все зависит от реализации окон.


Я в этом ничо не понимаю! blink.gif Забыд дописать что надо еще ответить на вопрос пересекаются ли они!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Вот сначала выясни, потом будешь спрашивать... А то устроили тут "принеси то, не знаю что"...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


"получающую информацию" - видимо от пользователя задаются координаты, а в результате нужно выдать пересекаются они или нет.

Так?


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Цитата(APAL @ 24.05.2006 17:43) *

"получающую информацию" - видимо от пользователя задаются координаты, а в результате нужно выдать пересекаются они или нет.

Так?


Скорее всего ДА. Если знаешь напиши хоть чонить, а то экзамены скора!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Вот тебе функция:

Function InWin(x0,y0,xW,yH,xi,yi : byte) : Boolean;
Begin
If ((xi>=x0) and (xi<=(x0+xW-1))) and ((yi>=y0) and (yi<=(y0+yH-1))) then InWin:=True else InWin:=False;
End;


А дальше попробуй додумать как ее использовать.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


А полностью написать не можешь, а? Хотя и за это большое спасибо good.gif может как нибудь додумаюсь. nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Код
Flag:=False;
For i:=x1 to x1+xW1-1 do Flag:=Flag or (InWin(x2,y2,xW2,yH2,i,y1) or InWin(x2,y2,xW2,yH2,i,y1+yH1-1));
For i:=y1 to y1+xW1-1 do Flag:=Flag or (InWin(x2,y2,xW2,yH2,x1,i) or InWin(x2,y2,xW2,yH2,x1+xW1-1,i));


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 24.10.2017 8:57
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"