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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 19:15   #1
Richik123
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 92
По умолчанию Построение графика в Delphi!

вот код, посмотрите что не так


Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    button2: TButton;
    button3: TButton;
    button4: TButton;
    button5: TButton;
    button6: TButton;
    pic1: TPaintBox;
    procedure button2Click(Sender: TObject);
    procedure button3Click(Sender: TObject);
    procedure button4Click(Sender: TObject);
    procedure button5Click(Sender: TObject);
    procedure button6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.button2Click(Sender: TObject);
var xg,yg,xgmax,xgmin,ygmax,ygmin:Integer;
  x,h,y,xmax,ymax,xmin,ymin:real;
  i:Integer;
begin
xmin:=-4;
xmax:=4;
ymin:=-4;
ymax:=4;
xgmin:=0;
xgmax:=250;
ygmin:=180;
ygmax:=0;
h:=0.1;
x:=0.1;
y:=(x*x)-x+1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
xg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.MoveTo(xg,yg);
while x<=xmax do begin
  x:=x+h;
  y:=(x*x)-x+1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.LineTo(xg,yg);
  end;
end;

procedure TForm1.button3Click(Sender: TObject);
var xg,yg,xgmax,xgmin,ygmax,ygmin:Integer;
  x,h,y,xmax,ymax,xmin,ymin:real;
  i:Integer;
begin
xmin:=-4;
xmax:=4;
ymin:=-4;
ymax:=4;
xgmin:=0;
xgmax:=250;
ygmin:=180;
ygmax:=0;
h:=0.1;
x:=0.1;
y:=2*x-1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.MoveTo(xg,yg);
while x<=xmax do begin
  x:=x+h;
  y:=2*x-1;
  xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.LineTo(xg,yg);
end;
end;
procedure TForm1.button4Click(Sender: TObject);
var xg,yg,xgmax,xgmin,ygmax,ygmin:Integer;
  x,h,y,xmax,ymax,xmin,ymin:real;
  i:Integer;
begin
xmin:=-4;
xmax:=4;
ymin:=-4;
ymax:=4;
xgmin:=0;
xgmax:=250;
ygmin:=180;
ygmax:=0;
h:=0.1;
x:=0.1;
y:=1/((x*x)-x+1);
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.MoveTo(xg,yg);
while x<=xmax do begin
  x:=x+h;
  y:=1/((x*x)-x+1);
  xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.LineTo(xg,yg);
end;
end;

procedure TForm1.button5Click(Sender: TObject);
begin
pic1.Color:=clWindow;
pic1.Color:=clGreen;
end;

procedure TForm1.button6Click(Sender: TObject);
begin
pic1.Canvas.Pen.Color:=clBlack;
pic1.Canvas.MoveTo(1,1);
pic1.Canvas.LineTo(1,250);
pic1.Canvas.MoveTo(0,190);
pic1.Canvas.LineTo(250,190);
pic1.Canvas.Pen.Color:=clred;
end;

end.
Richik123 вне форума Ответить с цитированием
Старый 12.12.2012, 20:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нескромный вопрос: TChart не подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.12.2012, 21:17   #3
Richik123
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 92
По умолчанию

Я делал по примеру, который нашёл в интернете, с TChart'om не работал.
Richik123 вне форума Ответить с цитированием
Старый 12.12.2012, 21:28   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
с TChart'om не работал.
Тогда полагаю тебя заинтересует вот этот пример:http://www.programmersforum.ru/showthread.php?p=301225
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.12.2012, 21:51   #5
Richik123
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 92
По умолчанию

спасибо, но я уже сделал)
Richik123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика в компоненте TImage. Delphi ellum1nate Помощь студентам 0 20.10.2011 17:46
построение графика по точкам Delphi Ilya_L Помощь студентам 1 22.11.2010 13:56
Построение графика функций (Delphi) КатюФа Помощь студентам 0 14.05.2010 19:27
Построение графика [Delphi] StudeHt Помощь студентам 7 23.12.2009 21:11
Построение графика в Delphi сер4ей Помощь студентам 0 25.04.2009 15:15