Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Hitchenson
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 17
#1

Разделить окно двумя линиями: вертикальной и горизонтальной, проходящими по центру - Turbo Pascal

14.04.2012, 19:32. Просмотров 1551. Ответов 10
Метки нет (Все метки)

Разделить окно двумя линиями: вертикальной и горизонтальной, проходящими по центру. Должны получиться 4 сектора окна. Если левая кнопка «мыши» нажата в разных секторах, то выводить квадрат со стороной 30pix разными типами заливки для каждого сектора.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 19:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разделить окно двумя линиями: вертикальной и горизонтальной, проходящими по центру (Turbo Pascal):

Частота горизонтальной и вертикальной развёртки экрана - C++
Подскажите пожалуйста, как программно определить частоту горизонтальной и вертикальной развёртки экрана с помощью функций API? (скажем в...

Вывод предложения, используя символ горизонтальной и вертикальной табуляции - C++
вот такая интересненькая задачка, но я прочитал и практически ничего не понял что мне нужно сделать. в с++ не сильно понимаю, поэтому и...

Изменяйте положение командной кнопки на форме с помощью горизонтальной и вертикальной полос прокрутки - Visual Basic .NET
Всем привет! Мне нужно написать програмку: Изменяйте положение командной кнопки на форме с помощью горизонтальной и вертикальной полос...

Когда выше коэффициент теплоотдачи: при конденсации на вертикальной или горизонтальной трубе? - Термодинамика и МКТ
Когда выше коэффициент теплоотдачи: при конденсации на вертикальной или горизонтальной трубе? Не могу понять, разве можно формулы с...

Как сделать чтобы в графике в подписи данных показывалась сумма значений вертикальной и горизонтальной оси - MS Excel
Как сделать чтобы в графике в подписи данных показывалась сумма значений вертикальной и горизонтальной оси? Например, в графике, в...

Блоки по центру вертикальной оси - HTML, CSS
Скриншот того, что есть: Нужно сделать так, чтобы начиная со 2 колонки они становились по середине. <div class="brackets"> <div...

10
Puporev
Модератор
54035 / 41668 / 14746
Регистрация: 18.05.2008
Сообщений: 97,982
14.04.2012, 20:37 #2
Паскаль какой?
1
Hitchenson
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 17
14.04.2012, 23:06  [ТС] #3
мне без разницы на каком, я разберусь и переделаю) но нужно хотябы что то чтобы переделывать) просто как подступиться сам пока не знаю.
0
Puporev
Модератор
54035 / 41668 / 14746
Регистрация: 18.05.2008
Сообщений: 97,982
15.04.2012, 07:24 #4
Цитата Сообщение от Hitchenson Посмотреть сообщение
мне без разницы на каком,
Тебе может и без разницы, но вот например в Турбо Паскале нет стандартных процедур для работы с мышью, а в АВС и АВС. net программы по разному пишут, так что удачи, разбирайтесь.
1
Hitchenson
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 17
15.04.2012, 17:25  [ТС] #5
да мне хотябы в ABC или Free увидеть код, у нас в универе странный паскаль стоит, и что за версия нам не говорят ><
0
Puporev
Модератор
54035 / 41668 / 14746
Регистрация: 18.05.2008
Сообщений: 97,982
15.04.2012, 17:58 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Паскаль АВС простой.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
uses GraphABC,Events;
procedure MouseDown(x,y,mb: integer);
begin
if mb=1 then
 begin
  if(x>0)and(x<windowwidth div 2)and(y>0)and(y<windowheight div 2) then
   begin
    setbrushcolor(clRed);
    setbrushstyle(bsCross);
   end
  else if(x>windowwidth div 2)and(x<windowwidth)and(y>0)and(y<windowheight div 2) then
   begin
    setbrushcolor(clGreen);
    setbrushstyle(bsDiagCross);
   end
  else if(x>0)and(x<windowwidth div 2)and(y>windowheight div 2)and(y<windowheight) then
   begin
    setbrushcolor(clBlue);
    setbrushstyle(bsBDiagonal );
   end
  else if(x>windowwidth div 2)and(x<windowwidth)and(y>windowheight div 2)and(y<windowheight) then
   begin
    setbrushcolor(clBrown);
    setbrushstyle(bsFDiagonal );
   end;
  rectangle(x-15,y-15,x+15,y+15)
 end
end;
begin
line(0,windowheight div 2,windowwidth,windowheight div 2);
line(windowwidth div 2,0,windowwidth div 2,windowheight);
onmousedown:=mouseDown;
end.
1
Hitchenson
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 17
16.04.2012, 21:02  [ТС] #7
спасибо сейчас попробую)

Добавлено через 35 минут
немного нервирует то что нижние прямоугольники рисует во всю длину а не в заданном секторе) но думаю с этим сам справлюсь, просто разобью твой цикл на 2 одинаковых, и прямоугольники во 2ом задам координатами пониже) спасибо огромное помог получить екзамен автоматом считай)
0
Puporev
Модератор
54035 / 41668 / 14746
Регистрация: 18.05.2008
Сообщений: 97,982
16.04.2012, 21:06 #8
Не понял о чем ты буровишь, что не так?
1
Миниатюры
Разделить окно двумя линиями: вертикальной и горизонтальной, проходящими по центру  
Hitchenson
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 17
16.04.2012, 21:31  [ТС] #9
забавно проверил трижды, у меня выводит прямоугольники, столбы и чем ниже я нажимаю тем длинее как бы рисует этот столб, и еще мне тут уже подсказали что так просто не прокатит, прямоугольник должен рисовать именно в точке нажатия, тоесть углы от точки нажатия должны быть на одинаковом расстоянии если мышку не двигать с того места откуда нажал, сам это более менее могу сделать даже в этом паскале, но важно не это, мне нужно построить в задаче "динамику" тобишь если я увеличиваю окно то линии должны тоже увеличиваться (оставаясь границами для 4 секторов) и при этом когда увеличиваю допустим увеличивается 1ый сектор и точки который были во 2ом(правом верхнем) и 3ем (левом нижнем) секторах как бы попадают в новый 1ый сектор и перекрашиваются в его цвет, такая же херня должны быть с уменьшением, как это сделать ума не приложу....

Добавлено через 2 минуты
сфоткать не могу ибо леплю на ноуте а пишу сюда с компа) а там такое гавно что даже кнопки принтскрина нету >< странно что паскаль не лагает))
0
Puporev
Модератор
54035 / 41668 / 14746
Регистрация: 18.05.2008
Сообщений: 97,982
16.04.2012, 21:34 #10
rectangle(x-15,y-15,x+15,y+15) это и есть квадрат с центром в точке, где находится курсор мыши в момент нажатия клавиши.
1
Hitchenson
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 17
17.04.2012, 12:00  [ТС] #11
нашел косяк со столбами, проглядел Y, я тупица.

Добавлено через 1 минуту
дада, паследний y,не пропечатался , я поглядел на это 3 раза в упор и тока вот щас на 4ый заметил ><

Добавлено через 14 часов 23 минуты
все переделал сам)
0
17.04.2012, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2012, 12:00
Привет! Вот еще темы с ответами:

К вертикальной стене горизонтальной силой равной 20Н прижимается брусок массой 2 кг. Найти модуль вертикально направленной силы, под действием которой - Механика
К вертикальной стене горизонтальной силой равной 20Н прижимается брусок массой 2 кг. Найти модуль вертикально направленной силы, под...

разделить списки li между собой вертикальными линиями - HTML, CSS
Привет всем делаю меню и не знаю как разделить каждую ссылку между собой нарисованной вертикальной линей. то есть что то такое главная l...

TChart-расстояние между двумя линиями - Delphi
В TChart'e есть две серии, которые являются ломанными линиями (они произвольные). Необходимо найти середины расстояний между ними по оси Oy...

Рисование окружности с двумя линиями - диаметрами - C#
Здравствуйте! Пытаюсь нарисовать такую фигуру, и никак не выходит просчитать координаты для рисования диаметров. Из координат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru