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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 13:10   #1
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
Восклицание условный оператор, правильное применение к заданию

Экран разделен диагональю с крайнего верхнего правого угла по крайний нижний правый угол. Как может выглядеть условие с if-ами, если необходимо, чтобы в одной разделенной части экраны выполнялось одно действие, а в другом другое?
my_sappho_story вне форума Ответить с цитированием
Старый 30.11.2010, 13:16   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Есть 2 точки - значит можно задать прямую. Соответственно все что выше(y>kx) и ниже(y<kx)
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 30.11.2010, 13:40   #3
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Диагональ как бы условная, по ее пересечению меняется указатель мышки, коефициент к каким обазом находить, если окно может быть разного размера?
my_sappho_story вне форума Ответить с цитированием
Старый 30.11.2010, 13:56   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
коефициент к каким обазом находить, если окно может быть разного размера
ищем по уравнение прямой проходящей через две различные точки.
http://ru.wikipedia.org/wiki/%D0%9F%...BC%D0%B0%D1%8F
(0,0) (w.h)
(y=h)=k*(x=w)
решаем и получаем ответ.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 30.11.2010 в 13:58.
evg_m на форуме Ответить с цитированием
Старый 30.11.2010, 13:56   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Координаты окна известны. В чем проблема?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 30.11.2010, 14:35   #6
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Работает с глюками
Код:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Y > (Form1.Height / Form1.Width) * X Then Form1.MousePointer = 15
If Y < (Form1.Height / Form1.Width) * X Then Form1.MousePointer = 11
End Sub
Отношение Form1.Height / Form1.Width - это коефициет К. Но почему тогда мышка не меняется вблизи диагонали?
my_sappho_story вне форума Ответить с цитированием
Старый 30.11.2010, 14:49   #7
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Где в вашем окне координата (0;0)? (В Delphi это левый верхний угол например)
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 30.11.2010, 21:37   #8
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Необходимо сравнивать координаты указателя с диагональю. И выполнять условие перемены указателя. Но как в код свтавить уравнение прямой - оно разве поможет и как поможет коефициент К? Код, который выше - бред. У диагонали же меняется и координаты ординаты и абциссы. Что же делать?
Изображения
Тип файла: jpg Безымянный.JPG (11.1 Кб, 89 просмотров)
my_sappho_story вне форума Ответить с цитированием
Старый 01.12.2010, 01:19   #9
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

У кого-то появилась идея?
my_sappho_story вне форума Ответить с цитированием
Старый 01.12.2010, 01:39   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от my_sappho_story Посмотреть сообщение
Работает с глюками
Код:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Y > (Form1.Height / Form1.Width) * X Then Form1.MousePointer = 15
If Y < (Form1.Height / Form1.Width) * X Then Form1.MousePointer = 11
End Sub
Отношение Form1.Height / Form1.Width - это коефициет К. Но почему тогда мышка не меняется вблизи диагонали?
Да не задумка правильная ток у тя функция задана не правильно!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условный оператор. Оператор выбора. Pascal Сержuk Помощь студентам 4 17.11.2010 12:50
Условный оператор amki6 Помощь студентам 1 31.03.2010 11:15
условный оператор -maxim92- Помощь студентам 4 25.01.2010 15:31
условный оператор Еля Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.11.2009 23:30
Условный оператор IF в Си Zid@ne Помощь студентам 7 24.12.2008 20:02