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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 23:33   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Программа может выглядеть так:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type

  { TForm1 }

  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormPaint(Sender: TObject);
var cy,cx,y,x:integer;
begin
 cy:=Height div 2;
 cx:=Width div 2;
 Canvas.MoveTo(cx,cy);
 for x:=1 to Width do begin
  y:=round(exp(-x/10));
  Canvas.LineTo(cx+x,cy+y);
 end;
end;

end.
Обрати внимание на событие OnPaint описанное в примере - там отрисовка графика
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2012, 00:37   #12
Металлистка
Пользователь
 
Аватар для Металлистка
 
Регистрация: 26.05.2012
Сообщений: 26
По умолчанию

попробовала в свой код поставить что то не нравится ему...
посмотрите пожалуйста,может найдёт причину:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

   procedure TForm1.Button1Click(Sender: TObject);
   var cy,cx,x0,y0:integer;
dx,dy:integer;
x,y:integer;
xp,yp:real;
x1,x2:real;
y1,y2:real;
lx,ly:byte;
dlx,dly:byte;
st:string;
ddx:real;
xm,ym:integer;
begin

   form1.Repaint;
  x0:=form1.ClientWidth div 2;
   y0:=form1.ClientHeight div 3;
   dlx:=1;
   dly:=1;
    lx:=0;
    ly:=0;
    with form1.Canvas do begin
    moveto(x0,y0+y0-3);
    Lineto(x0,3);
    moveto(3,y0);
    Lineto(x0+x0+400,y0);
    font.Color:=clteal;
    font.Size:=12;
    TextOut(x0+20,3,'Y');
    TextOut(x0+x0+390,y0+10,'X');
    moveto(x0,3);
    Lineto(x0-4,7);
    moveto(x0,3);
    Lineto(x0+4,7);
    moveto(x0+x0+400,y0);
    Lineto(x0+x0+393,y0+4);
    moveto(x0+x0+400,y0);
    Lineto(x0+x0+393,y0-4);
    x:=x0;
    dx:=form1.ClientWidth div -25 ;
    Str(lx,st);
    TextOut(x-12,y0+5,st);
    lx:=lx+dlx;
    x:=x+dx;
    repeat
    moveto(x,y0-3);
    lineto(x,y0+3);
    Str(lx,st);
    TextOut(x-8,y0+5,st);
    lx:=lx+dlx;
    pen.Style:=psdot;
    moveto(x,y0-3);
    Lineto(x,3);
    pen.Style:=psSolid;
    x:=x+dx;
    until (x<0);
    y:=y0;
    dy:=form1.ClientHeight div 15;
    ly:=ly+dly;
    y:=y-dy;
    repeat
    moveto(x0-3,y);
    lineto(x0+3,y);
    Str(ly,st);
    TextOut(x0+20,y,st);
    ly:=ly+dly;
    pen.Style:=psdot;
    moveto(x0+3,y);
    Lineto(0,y);
    pen.Style:=pssolid;
    y:=y-dy;
    until (y<10);
{построение графика}
    pen.Color:=cllime;
     moveto(x0,y0);
     for x:=1 to form1.Width div 2 do
      begin
      y:=round(exp(-x/10));
     lineto(x0+x,y0+y);
     end;
    pen.Color:=clgreen;
    font.Color:=clblue;
    font.Size:=15;
    font.Style:=[fsBold];
    textout(400,20,'График функции y=exp^(-x)') ;
    font.Name:='Ms Sans Serif';

end;

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

Цитата:
что то не нравится
Что именно? Мне например вообще все в твоем коде не нравится. Я его даже понять не смог, поэтому и предложил свои идеи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2012, 11:27   #14
Металлистка
Пользователь
 
Аватар для Металлистка
 
Регистрация: 26.05.2012
Сообщений: 26
По умолчанию

мне просто нужно делаеть по тому примеру,другими способами нельзя...ну там в начале оси координат рисуются,сам график не получается...
выделяет последний end как будто не закончено

Кстати ваша программа не правильно работает через FormPaint попробывала

Последний раз редактировалось Stilet; 09.12.2012 в 12:16.
Металлистка вне форума Ответить с цитированием
Старый 09.12.2012, 12:17   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Кстати ваша программа не правильно работает
Все она верно отрисовывает. Я не ручаюсь за правильность формулы, но то что она рисует график это факт.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерный массив делфи VinDiz Помощь студентам 6 19.01.2012 20:49
на зачет решить в делфи двумерный массив. bajge Помощь студентам 9 15.06.2011 10:47
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив Делфи приехали MrMorozko Помощь студентам 19 18.12.2010 14:21
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40