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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2013, 15:01   #1
Катерина Рыжая
Пользователь
 
Регистрация: 27.10.2012
Сообщений: 14
По умолчанию Оконное приложение делфи

добрый день

у меня есть оконное приложение по задаче: Дано множество эллипсов. Среди эллипсов, центры которых в первом квадранте, найти наибольший.

мне нужно создать процедуру,чтобы программа рисовала эллипсы по координатам,которые я ввожу в массиве. нужно ли для этого создавать новую форму,или можно воспользоваться PaintBox,поместив го на ту же форму? и как связать массив с координатами эллипса
Катерина Рыжая вне форума Ответить с цитированием
Старый 28.04.2013, 15:46   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
нужно ли для этого создавать новую форму,или можно воспользоваться PaintBox,поместив го на ту же форму
Это в общем то несущественно. Всё зависит от того как у вас организованно свободное место на форме для PaintBox. Если у вас на форме уже несколько десятков различных компонентов, то, ИМХО, лучше вывести на новой форме. А если у Вас всего несколько кнопок и окно на форме, то можно и на существующей форме рисовать.
Цитата:
и как связать массив с координатами эллипса
Проходите циклом по массиву и рисуете эллипсы, используя его элементы. Что то вроде
Код:
for i := 1 to кол-во элементов do
Begin
  //здесь код рисования эллипсов
End;
Конкретнее сказать сложно, не видя самого массива.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 28.04.2013, 17:27   #3
Катерина Рыжая
Пользователь
 
Регистрация: 27.10.2012
Сообщений: 14
По умолчанию

спасибо)
массив у меня 4*n, который состоит из координат центров эллипсов(х,у) и длин полуосей(а,в)..
то есть правильно будет записать
for i:=1 to n do
canvas.ellipse(a[1,i], a[2,i], a[3,i], a[4,i]) ??
Катерина Рыжая вне форума Ответить с цитированием
Старый 28.04.2013, 17:43   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Скорее:
canvas.ellipse(a[1,i] - a[3,i], a[2,i] - a[4,i], a[1,i] + a[3,i], a[2,i] + a[4,i]);

Правда, этот способ не учитывает, что "логические" координаты (в массиве) отличаются от "физических" (на экране). То есть, например, не все эллипсы влезут на экран.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 28.04.2013, 17:47   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то есть правильно будет записать
То-есть правильнее будет вообще использовать записи:
Код:
TElli=record 
 x,y,a,b:Double;
end;
И их массив: a:array[1..XXX] of TElli;
Тогда:
Код:
for i:=1 to n do
  canvas.ellipse(Round(a[i].x),Round(a[i].y), Round(a[i].a), Round(a[i].b));
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.04.2013, 17:49   #6
Катерина Рыжая
Пользователь
 
Регистрация: 27.10.2012
Сообщений: 14
По умолчанию

спасибо, а не подскажете, как можно сделать оси координат?
Катерина Рыжая вне форума Ответить с цитированием
Старый 28.04.2013, 19:21   #7
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Катерина Рыжая Посмотреть сообщение
спасибо, а не подскажете, как можно сделать оси координат?
Нарисовать линиями и подписать текстом.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оконное приложение дельфи Катерина Рыжая Помощь студентам 1 24.03.2013 23:49
оконное приложение Алексадр Демин Помощь студентам 1 09.03.2013 17:07
простейшее оконное приложение sergej735 Win Api 3 18.06.2011 10:40
оконное приложение programmm Win Api 1 16.05.2011 23:09