![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Готов помочь
Пользователь
Регистрация: 06.06.2009
Сообщений: 27
|
![]()
Создать компонент для исследования графика функции y=ax^3+bx^2+cx+d. Компонент
должен соответствовать следующим требованиям: - должны присутствовать оси X и Y; - должна присутствовать возможность вывода сетки с заданными шагами по осям X и Y; - вдоль осей должны быть выведены промежуточные деления с надписями; - масштаб по осям должен задаваться крайними значениями; - график функции должен быть непрерывным; - аргументы функции должны задаваться пользователем; - цвет линии графика должен быть настраиваемым.
В ВУЗе
|
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Тема для фриланса
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
![]()
Думаю уместна будет цитата одного товарища - "Вы бы ещё свои ботинки выкладывали и просили, чтобы мы их почистили"...
ТоварищЪ SWAT92Shtorm. Выкладывайте исходники, идеи и вам скорее всего помогут. А такой топик = наглость по отношению к людям, которые помогают за бесплатно. Уважаемый mihali4. Не могли бы вы помоч вот с этой темой? |
![]() |
![]() |
![]() |
#4 |
Готов помочь
Пользователь
Регистрация: 06.06.2009
Сообщений: 27
|
![]()
unit lab2;
interface uses WinTypes, WinProcs, Messages, Classes, Graphics, Controls, ExtCtrls, SysUtils; type grafikk = class(TGraphicControl) private img: TBitmap; sss: boolean; sh,aa,bb,cc,dd,kzx,kzy: integer; gc: TColor; procedure setset(val: boolean); procedure setsh(val: integer); procedure setgc(val: TColor); procedure seta(val: integer); procedure setb(val: integer); procedure setc(val: integer); procedure setd(val: integer); procedure setkzx(val: integer); procedure setkzy(val: integer); protected procedure Paint; override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property setka: boolean read sss write setset; property shag: integer read sh write setsh; property grafcolor: TColor read gc write setgc; property a: integer read aa write seta; property b: integer read bb write setb; property c: integer read cc write setc; property d: integer read dd write setd; property krainX: integer read kzx write setkzx; property krainY: integer read kzy write setkzy; end; procedure Register; implementation procedure Register; begin RegisterComponents('win32', [grafikk]); end; constructor grafikk.Create(AOwner: TComponent); begin inherited Create(AOwner); // ControlStyle:=ControlStyle+[csFramed]; Width := 450; Height := 450; img:= TBitmap.Create; sss:=true; sh:=40; gc:=clred; aa:=1; bb:=2; cc:=3; dd:=4; kzx:=20; kzy:=20; end; procedure grafikk.Paint; var x0,y0,i: integer; x,y: real; begin img.Width:=width; img.Height:=Height; img.Canvas.FillRect(img.Canvas.Clip Rect); x0:= width div 2; y0:= Height div 2; if sss then begin img.Canvas.Pen.Width:=1; img.Canvas.Pen.Color:=clBlue; i:=x0 mod sh ; repeat img.Canvas.MoveTo(i,0); img.Canvas.lineTo(i,Height); inc(i,sh); until (i>=width); i:=y0 mod sh ; repeat img.Canvas.MoveTo(0,i); img.Canvas.lineTo(width,i); inc(i,sh); until (i>=Height); end; x:=-kzx; repeat y:=-(aa*(x*x*x)+bb*(x*x)+cc*x+dd); img.Canvas.Pixels[round(((x/kzx)*x0)+x0), round(((y/kzy)*y0))+y0]:=gc; x:=x+0.001; until x>=kzx; img.Canvas.Pen.Width:=2; img.Canvas.Pen.Color:=clBlack; i:=x0 mod sh; repeat img.Canvas.MoveTo(i,y0-3); img.Canvas.lineTo(i,y0+3); img.Canvas.TextOut(i-7,y0+4,copy(floattostr(-((x0-i)/x0)*kzx),0,4)); inc(i,sh); until (i>=width); i:=y0 mod sh ; repeat img.Canvas.MoveTo(x0-3,i); img.Canvas.lineTo(x0+3,i); img.Canvas.TextOut(x0+4,i-7,copy(floattostr(((y0-i)/y0)*kzy),0,4)); inc(i,sh); until (i>=Height); img.Canvas.moveTo(x0,0); img.Canvas.lineTo(x0,Height); img.Canvas.moveTo(0,y0); img.Canvas.lineTo(width,y0); canvas.Draw(0,0,img); end; procedure grafikk.seta(val: integer); begin if val<>aa then begin aa:=val; paint; end; end; procedure grafikk.setb(val: integer); begin if val<>bb then begin bb:=val; paint; end; end; procedure grafikk.setc(val: integer); begin if val<>cc then begin cc:=val; paint; end; end; procedure grafikk.setd(val: integer); begin if val<>dd then begin dd:=val; paint; end; end; procedure grafikk.setset(val: boolean); begin if val<>sss then begin sss:=val; paint; end; end; procedure grafikk.setkzx(val: integer); begin if val<>kzx then begin kzx:=val; paint end; end; procedure grafikk.setkzy(val: integer); begin if val<>kzy then begin kzy:=val; paint end; end; procedure grafikk.setsh(val: integer); begin if (val<>sh) and (val>0) then begin sh:=val; paint; end; end; procedure grafikk.setgc(val: TColor); begin if val<>gc then begin gc:=val; paint; end; end; destructor grafikk.Destroy; begin img.Free; inherited; end; end.
В ВУЗе
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Срочно!!! 2 задачи в делфи!! | Kit_Kat | Фриланс | 2 | 20.05.2009 02:47 |
Как мне подключить компонент myodbc к делфи | Droid | БД в Delphi | 0 | 18.02.2009 19:47 |
исправить компонент под делфи 2007 | Roof | Компоненты Delphi | 1 | 31.08.2008 09:09 |
Очень срочно 2 задачки на делфи... | Milky-way | Помощь студентам | 12 | 29.10.2007 21:01 |