Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 319

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Пишу программу для построения графиков функции. В связи с чем у меня возникли вопросы.
1. Как составить процедуру для разметки осей?
2. Необходимо реализовать возможность вывода на одно координатное поле нескольких графиков. Не знаю как. У меня получается только каждый график выводить отдельно.
3. Необходимо реализовать масштабирование, настройки цвета и типа линии графиков.
(Настройки цвета линий графиков я реализовала, а вот масштабирование и тип линии не получается).
В приложении код построения линий координат и код выбора цвета линии.
Буду очень благодарна за помощь и объяснение.

Приложение:
  1.  
  2.  
  3.  
  4. cx,cy:longint;
  5. procedure MyLine(x1,y1,x2,y2:real);
  6. procedure GetCxCy(var cx,cy:integer);
  7. Procedure CoordLines(cx,cy:integer);
  8. Procedure MyPixel(x,y:real;color:Tcolor);
  9.  
  10.  
  11. Procedure TfmAll.MyPixel(x,y:Real;color:Tcolor);
  12. begin
  13. imWork.canvas.pixels[Round(cx+x),round(cy-y)]:=Color;
  14. end;
  15.  
  16. Procedure TfmAll.CoordLines(cx,cy:Integer);
  17. begin
  18. myline(-cx,0,cx,0);
  19. myline(0,-cy,0,cy);
  20. end;
  21.  
  22. procedure TfmAll.GetCxCy(var cx,cy:integer);
  23. begin
  24. cx:=imWork.Width div 2;
  25. cy:=imWork.Height div 2;
  26. end;
  27.  
  28. procedure TfmAll.MyLine(x1,y1,x2,y2:real);
  29.  
  30. begin
  31. imWork.Canvas.MoveTo(round(cx+x1),round(cy-y1));
  32. imWork.Canvas.lineTo(round(cx+x2),round(cy-y2));
  33. end;
  34.  
  35.  
  36.  
  37.  
  38.  
  39. name plPen
  40. Width = 24
  41. Height = 22
  42. BevelOuter = bvNone
  43. Color = clBlack
  44.  
  45.  
  46.  
  47. name = ColorDialog
  48.  
  49. if ColorDialog.execute then
  50. begin
  51. imWork.Canvas.pen.color:=ColorDialog.color;
  52. plPen.color:=ColorDialog.color;
  53. end;


Brigina Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Brigina (статус: Посетитель)
Вопрос отправлен: 20 января 2009, 04:27
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 27; последнее сообщение — 22 января 2009, 13:55; участников в обсуждении: 3.

Страницы: [« Предыдущая] [1] [2]

Вадим К

Вадим К (статус: Академик), 21 января 2009, 17:04 [#21]:

Что бы координатные линии не были неправильными, надо выставлять нужный тип линий перед их рисованием. То есть рисуем координатные линии - выставляем сплошную, рисуем график - выставляем согласно выбранному. правда процедура, приведённая выше тогда идем погулять... Она просто меняем...
Галочка "подтверждения прочтения" - вселенское зло.
Brigina

Brigina (статус: Посетитель), 21 января 2009, 17:13 [#22]:

Поставила брейкпойнт. Выполнение остановилось.
Brigina

Brigina (статус: Посетитель), 21 января 2009, 17:15 [#23]:

Куда погулять? Мне нужно сделать так, чтобы можно было выбрать стиль линии. Чем плоха процедура из справки? Ну кроме того, что она не работает?
Вадим К

Вадим К (статус: Академик), 21 января 2009, 17:50 [#24]:

Процедура рабочая, просто она не делает то, что надо Вам. Просто по нажатию кнопки запоминайте выбор в переменной, а потом применяйте при прорисовке.
Галочка "подтверждения прочтения" - вселенское зло.
Brigina

Brigina (статус: Посетитель), 21 января 2009, 18:11 [#25]:

> Просто по нажатию кнопки запоминайте выбор в переменной, а потом применяйте при прорисовке.
А как? Мне нужен пример. Я пробовала запоминать, не запоминаетя...
Вадим К

Вадим К (статус: Академик), 21 января 2009, 18:37 [#26]:

ну значит не запоминали. как всегда, если спрашиваете, что именно не работает, показывайте код
Галочка "подтверждения прочтения" - вселенское зло.
Brigina

Brigina (статус: Посетитель), 22 января 2009, 13:55 [#27]:

>ну значит не запоминали. как всегда, если спрашиваете, что именно не работает, показывайте код
Показываю код :(
procedure TForm1.SaveStyles;
begin
with Image1.Canvas do
begin

PenStyle := Pen.Style;

end;
end;

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 апреля 2026, 03:00
Выполнено за 0.03 сек.