Hogyan kell felhívni a grafikon

Hogyan kell felhívni a grafikon

Mondd, hogyan ábrázoljuk a Delphi egy adott funktsii.I általában lehetőség, hogy ezt a szabványos eszközök Delphi

cm. TChart komponens


> Általában lehetséges, hogy ezt a szokásos eszközökkel
> Delphi

ez természetesen lehetséges!

> Prompt mint Delphi építeni a menetrend egy adott funkció

Béres TCavas és a festék.
Canvas.MoveTo (x, y); mozgását egy adott pont
Canvas.LineTo (x, y); vonal egy adott pontban

És lehetséges, részletesebben és Delphi új vagyok

Meg kell építeni sinusoydu Szerintem Canvas.LineTo nem működik, de talán tévedek


> Meg kell építeni sinusoydu Szerintem Canvas.LineTo
> Nem működik, de talán tévedek

Úgy tűnik -, hogy megkeresztelkedik.

Prompt ahol alkotóelem TCavas

Soha TCanvas komponens nem volt (és nem is fog).

hogyan nem fér el.
meg kell kiszámítani a menetrend
azaz mint ez
mozog a pont, hogy az elején a rajz MoveTo
Canvas.MoveTo (0, Canvas.height)
majd felhívni a grafikon a ciklusban a funkciója
For i: = 0-800 csinálni
# XA0; kezdődik # XA0; # XA0; # XA0; # XA0; # XA0; # XA0;
# XA0; Canvas.LineTo (i, Sin (i));
# XA0; end;

Ps. Remélem, a jobb agyfélteke munkák

TCanvas (master ismét ütközött egy me), hogy gyakorlatilag bármilyen vizuális elem. de jobb, ha festékes doboz


> Legyen a gyakorlatban TCanvas (ismét összefutottam mestere me)
> Bármely vizuális komponenst. de jobb, ha festékes doboz

TCanvas - a lényeg az MFT. Valóban sok vizuális elemek (de nem minden). Nem az egészet a nyilvánosság előtt.

Rossz, egy egyenes vonal


> Rossz, egy egyenes vonal

oh yeah
Canvas.LineTo (i, Round (Sin (i) * 100));

És ha még mindig utalnak TChart?

Az érvelés kell radiánban

dobja ki a táblázatot az űrlapot, kattintson kétszer prav.knopkoy kattintva add válassza ki a grafikon típus és a kísérlet
Példa sinus, amikor az ablak:

eljárás TForm1.FormActivate (Sender: TObject);
var
k: integer;
kezdődik
k: = 0-tól 20 do
Chartl.SeriesList [0] .AddXY (k, sin (K * pi / 10), "", clRed);
végén;

szabvány.

Itt a kód a DRKB. Felhívja a függvény grafikonját.


eljárás TForm1.Button3Click (Sender: TObject);
var x, y: array [1..50] kettős;
# XA0; i: integer;
# XA0; scaleX, scaleY, ymin, ymax, xmin, xmax: kettős;
kezdődik
# XA0; i: = 1-től 50 do
# XA0; # XA0; kezdődik
# XA0; # XA0; # XA0; Y [i]: = sin (i * 0,5);
# XA0; # XA0; # XA0; x [i]: = i;
# XA0; # XA0; end;
# XA0; xmin: = x [1];
# XA0; xmax: = x [1];
# XA0; ymin: = y [1];
# XA0; ymax: = y [1];
# XA0; i: = 2 és 50 do
# XA0; # XA0; kezdődik // vagy használja ymin: = MINVALUE (y); stb
# XA0; # XA0; # XA0; ha y [i] # XA0; # XA0; # XA0; ha y [i]> ymax majd ymax: = y [i];
# XA0; # XA0; # XA0; ha x [i] # XA0; # XA0; # XA0; ha x [i]> xmax majd xmax: = x [i];
# XA0; # XA0; end;
# XA0; scaleX: = paintbox1.Width / (xmax - xmin);
# XA0; scaleY: = paintbox1.Height / (ymax - ymin);
# XA0, azzal paintbox1.canvas do
# XA0; # XA0; kezdődik
# XA0; # XA0; # XA0; MoveTo (TRUNC (scaleX * (x [1] - xmin)), paintbox1.height - TRUNC (scaleY * (y [1] - ymin)));
# XA0; # XA0; # XA0; i: = 2 és 50 do
# XA0; # XA0; # XA0; # XA0; Lineto (TRUNC (scaleX * (x [i] - xmin)), paintbox1.height - TRUNC (scaleY * (y [i] - ymin)));
# XA0; # XA0; end;
végén;

MoveTo / LineTo jobb helyett Windows.PolyPolyLine

Memória: 0,75 MB
Idő: 0,046 c

Kapcsolódó cikkek