Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.12.26;
Завантажити: [xml.tar.bz2];

Вниз

Допоможіть зробити динамічна зміна Знайти схожі гілки


masia   (2002-12-16 19:21) [0]

Є код програми будує графік із залежностей, необхідно зробити динаміку, в Timer додати, але що?

КОД ПРОГРАМИ:
$ F +}
unit Unit1;

інтерфейс

використовує
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

тип
func = function (x: real): real;
TForm1 = class (TForm)
Button1: TButton;
Chart1: TChart;
Series1: TLineSeries;
Timer1: TTimer;
procedure Button1Click (Sender: TObject);

приватний
{Private declarations}
громадськість

{Public declarations}
end;

було
Form1: TForm1;
x, y: real;
k: integer;
f: func;
реалізація

{$ R * .DFM}

function f1 (x: real): real;
починати
f1: = x + sin (x);
end;
function f2 (x: real): real;
починати

f2: = sqrt (x);
end;
function f3 (x: real): real;
починати
f3: = 1-sqrt (x-1);
end;
const ar_fun: array [1..3] of func = (f1, f2, f3);
procedure TForm1.Button1Click (Sender: TObject);
label us1,us2,us3,us4,us5,us6;
var z: integer;
m: integer;
починати
f: = ar_fun [2];
k: = 0;
m: = 0;
Chart1.View3D: = False;
Chart1.Series [0] .Title: = "Графік"; // це буде ім'я нашої ламаної (в легенді)
Chart1.Legend.LegendStyle: = lsSeries;
goto us2;
us1:

z: = k;
//label1.Caption:= inttostr (z);
x: = 0.1 * k;
y: = f (x);
chart1.series [0] .addxy (x + m, f (x), "", clred); // Виводимо 1-ю півхвилю
//chart1.series[0].addxy(x,f3(x),"",clred);
k: = k + 1;
goto us2;
us2:
if k> 11 then goto us3; // кількість точок за якими строї
if k <11 then goto us1;
us3:
k: = 1;
x: = k;
goto us4;
us4:
y: = f (x);
chart1.series [0] .addxy (x + m, f3 (x), "", clred); // вивід 2-го напівперіоду
k: = k + 1;
x: = 0.0000000001 * k + k; // б'ємо для отримання максимального нуля (без отр велечин по y)
if y <0 then goto us5;
if k <3 then goto us4;
if k> 3 then goto us5;
us5:
m: = m + 2; // задаю кол-во періодів
if m> 6 then goto us6;
if m <6 then goto us1;
us6:
end;


end.



Cobalt   (2002-12-17 00:21) [1]

поясни, що ти маєш на увазі під "динамікою"?



masia   (2002-12-17 00:34) [2]

що графік буде рухатися, але при його русі залишатиметься 3-ри періоду



zavdim   (2002-12-17 05:58) [3]

Я б малював графік при кожному тику заново, але зі зміною лівої і правої межі. Це мультиплікація - тому можуть бути проблеми з смикання і т.д. Але можна зробити гладко.
А взагалі в Дельфах є каталог Demos \ Teechart - там є такі приклади.



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.12.26;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.55 MB
Час: 0.022 c
14-86111
Сергій Бушин
2002-12-05 15:04
2002.12.26
Конфлікти з драйверами


3-85840
zloy_dima
2002-12-06 11:52
2002.12.26
Бази даних


1-85896
брат
2002-12-16 23:34
2002.12.26
Допоможіть перейти до базису АБО-НЕ


6-86060
Beglec
2002-10-29 19:09
2002.12.26
Не підкажете де можна взяти котирування FOREX для delphi


1-85905
ilya1977
2002-12-10 11:11
2002.12.26
розбиття осередків





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська