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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2008, 00:51   #1
Анютик
Новичок
Джуниор
 
Аватар для Анютик
 
Регистрация: 26.03.2008
Сообщений: 1
По умолчанию написать модуль в Делфи для построения графика

ПОЖАЛУЙСТА!!! ПОМОГИТЕ!!!
Нужно написать текст модуля в Делфи для построения графика функции y=x*x, используя компонент PaintBox. Отображение графика функции должно происходить при нажатии компонента Button, т.е. должно быть использовано событие ButtonClick. Также необходимо отображение осей координат.
Анютик вне форума Ответить с цитированием
Старый 26.03.2008, 01:46   #2
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Вот решение проблемы расположения координаты 0,0 в центре канвы [ATTACH]3005[/ATTACH]
Вложения
Тип файла: zip ex01.zip (9.0 Кб, 37 просмотров)
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 26.03.2008, 03:04   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Кидай на форму компоненты Button, PaintBox (400х400pix), и вот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
x, y: integer;
begin
with PaintBox1.Canvas do
  begin
  Brush.Color:=clWhite;
  FillRect(Rect(0,0,400,400)); //закрашиваем все в белый цвет

  Pen.Width:=1;
  Pen.Color:=clBlack;

  MoveTo(200,10);  //рисуем оси
  LineTo(200,390); //200,200 это координаты центра
  MoveTo(10,200);
  LineTo(390,200);

  MoveTo(198,30); //стрелка
  LineTo(200,10);
  MoveTo(202,30);
  LineTo(200,10);

  MoveTo(370,198); //стрелка
  LineTo(390,200);
  MoveTo(370,202);
  LineTo(390,200);

  Pen.Width:=2;
  Pen.Color:=clRed;
  MoveTo(186,200-(-14*-14)); //начальная точка рисования графика
  for x:=-14 to 14 do //больше не влезет
    begin
    y:=x*x; //высчитываем y
    LineTo(x+200,200-y); //и продолжаем график
    end;
  end;
end;

//это обработчик перерисовки пэйнтбокса
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
//перерисовываем график чтобы он не пропал
Button1Click(Self);
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разработка программы построения графика интерполяционного полинома KORT Помощь студентам 4 07.11.2011 19:41
Возможно ли написать на языке Assembler модуль расширения для BIOS biff Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 07.07.2008 13:41
Программа построения графика KpeHDeJIb Помощь студентам 3 07.07.2008 08:05
Графика в Делфи, требуется помощь с задачей Natisha Помощь студентам 3 10.05.2008 00:25
Помогите, пожалуйста, написать программу (графика) Helga Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2007 15:46