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 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