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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 19:10   #1
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию Delphi графики

ЗДраствуйте уважаемые форумчанины.
Никак не могу совладеть с компонентом TChar.
у меня уравнение с тремя переменными x,y,z
x меняется с шагом h
У меня не получается вывести на экран график функции.
Не могли бы вы мне помочь!?
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    EditX: TEdit;
    EditY: TEdit;
    EditZ: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    calculation: TButton;
    Chart1: TChart;
    Series1: TLineSeries;
    EditXmax: TEdit;
    Label1: TLabel;
    step: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure calculationClick(Sender: TObject);
    procedure EditKeyPress(Sender: TObject; var Key: Char);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
begin
  EditX.Text:='0';
  EditY.Text:='0';
  EditZ.Text:='0';
end;

procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if not(key in ['0'..'9',',',#45]) then key:=#0;
end;


procedure TForm1.calculationClick(Sender: TObject);
var
  x,y,z,Xmax,h,temp,temp2,res : extended;
begin
   x:=StrToFloat(EditX.Text);
   y:=StrToFloat(EditY.Text);
   z:=StrToFloat(EditZ.Text);
   Xmax:=StrToFloat(EditXmax.Text);
   h:=StrToFloat(Step.Text);
   if (y=0) or (z=0) or (y<0) then  halt;
   repeat
   temp:=ln(Exp(-sqrt(abs(x))*Ln(y)))*(x-(y/2));
   temp2:=sqr(sin(arctan(z)));
   res:=temp+temp2;
         Series1.Clear;
       Series1.AddXY(x,res,'',clTeeColor);  // Вывод точки на график
       Series1.AddXY(y,res,'',clTeeColor);  // Вывод точки на график
       Series1.AddXY(z,res,'',clTeeColor);  // Вывод точки на график

   x:=x+h;
   until x>Xmax;
end;
end.
Заранее спасибо
Вложения
Тип файла: rar ЛАБА7.RAR (28.0 Кб, 31 просмотров)
tanek вне форума Ответить с цитированием
Старый 07.11.2009, 23:15   #2
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Как я понимаю процедура Series1.AddXY выводит точки по двум переменым x и y. Но он почему то не выводит мне прмую линию, а должна быть кривая... Может мне как то нужно преобразовать уравнение?
tanek вне форума Ответить с цитированием
Старый 08.11.2009, 04:18   #3
ИринаForeve
Пользователь
 
Аватар для ИринаForeve
 
Регистрация: 27.04.2009
Сообщений: 48
По умолчанию

А если попробовать убрать "Series1.Clear; " из цикла??? Я не знаю что должно получиться - считать долго, но кривая получается!
ИринаForeve вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графики из Delphi в Excell WhitePoint Помощь студентам 6 11.05.2009 17:30
Графики в delphi. Компонента для постройки. Webdiver Помощь студентам 1 03.02.2009 21:00
Простейшие графики функций в Delphi dee_lv Помощь студентам 3 06.05.2008 23:58
Графики delphin100 Общие вопросы Delphi 6 16.03.2008 10:40