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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2008, 09:06   #1
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
Восклицание Построене графика функции

Не могу поня ть в чем дело вот
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    Panel1: TPanel;
    LbEd1: TLabeledEdit;
    LbEd2: TLabeledEdit;
    LbEd3: TLabeledEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
r:TRect;
begin
 LbEd2.Text:='1';
 LbEd3.Text:='1';
 LbEd1.Text:='1';
 R:=rect(0,0,image1.width, image1.height);
 with image1.Canvas do
  begin
   brush.style:=bssolid;
   brush.color:=clWhite;
   fillrect(r);
   pen.Color:=clRed;
   rectangle(5,5,image1.Width-5,image1.Height-5);
   moveto(5,image1.height div 2);
   lineto (image1.Width -5 , image1.Height div 2);
      moveto(image1.width div 2,5);
   lineto (image1.Width div 2 , image1.Height-5);
  end;
end;
procedure TForm1.Button1Click(Sender:Tobject);
var
Chislo,Step,Otv:Extended;
a,b,i,y,k,x:integer;
F1,F2:integer;
fun:extended;
q:integer;
begin
a:=StrToInt(LbEd2.text);
b:=StrToInt(LbEd3.text);
k:=StrToInt(LbEd1.text);
q:=5;
for x:=1 to 1200 do
begin
f1:=round(cos((x*3.14/180)));

fun:=(-b)*((exp(ln(f1)*a))/(round(sin((x*3.14/180)*k))) );


image1.canvas.Pixels[q ,fun+ image1.Height div 2 ]:=clGreen;
inc(q);
end;
  end;
end.

объясните что я не так написал!!
SanSanblch вне форума Ответить с цитированием
Старый 24.12.2008, 13:50   #2
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Там ошибка несоответствия типов. Fun: extended; А для указания координат пикселя необходимо целочисленное значение.

Можно так выкрутиться:
Код:
image1.canvas.Pixels[q ,round(fun)+ image1.Height div 2 ]:=clGreen;
Но там еще вылетает ошибка "EDivisionByZero" - деление на ноль.
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 24.12.2008, 14:22   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Тема подчищена. автору предупреждение за флуд и за использование восклицательных знаков в названии темы.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в паскале (построить график функции) matic Помощь студентам 4 26.11.2012 17:02
Построение графика функции Жека:) Общие вопросы C/C++ 5 11.11.2008 19:05
Графика. Построение функции AngelOfDeath Общие вопросы Delphi 2 14.10.2008 13:44
Графика Exact Паскаль, Turbo Pascal, PascalABC.NET 3 14.03.2008 18:37