HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Függvényeket rajzoló komponens készítése


Példaprogram letöltése

6971 bájt

Ebben a cikkben egy koordináta rendszer komponenst készítünk. A komponens azon felül, hogy elkészíti a koordináta rendszert, lehetőséget biztosít maximum öt függvény megrajzolására. A koordináta rendszer léptéke méretezhető. Beállíthatjuk a pontok összekötését, a számozás tizedes jegyeit és azok megjelenítését is. A komponens használatával látványosan szemléltethetünk egyszerre több függvényt is.

A mellékelt példaprogram megnyitása előtt a Coordinate.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponens használata
Helyezze el a komponenst a Form-on, állítsa be méreteit.
A StepX és StepY real típusú tulajdonságok beállításával adható meg az x és y tengely léptéke. A Digits tulajdonság meghatározza, hogy a tengelyeken megjelenítendő számok hány tizedes jeggyel rendelkezzenek. Ezeket a számokat a ShowNumbers tulajdonság értékének igazra vagy hamisra állításával jeleníthetjük meg, illetve tüntethetjük el. A DrawLines logikai típusú tulajdonsággal állíthatjuk be, hogy a függvények pontjai össze legyenek-e kötve. Így a pont függvényeket is tudjuk ábrázolni.
A komponens maximum 5 függvény egyidejű megjelenítésére képes. Egy függvény egy pontját az AddPoint metódussal adhatjuk át a komponensnek.
procedure AddPoint(IList: Byte; IPoint: TCPoint);
Az IList értéke 1-5-ig terjedhet. A függvényt azonosítja. Az IPoint egy TCPoint típusú objektum, amely egy képpontot ír le.
A TCPoint objektum a Coordinate.pas állományban van implementálva.
TCPoint = class(TObject)
  public
    X: Real;
    Y: Real;
    Color: TColor;
    constructor Create; 
    destructor Destroy; override;
  end;
A függvény egy megadott pontját a DeletePoint metódussal törölhetjük.
procedure DeletePoint(IList: Byte;IPoint: TCPoint);
A ClearPoints függvénnyel a teljes függvény törölhető.
procedure ClearPoints(IList: Byte);
A komponens elkészítése
A TCoordinate osztályt a TGraphicControl osztályból származtatjuk. A komponens megrajzolását a Paint metódus felülírásával tudjuk megvalósítani. Fontos, hogy minden egyes tulajdonság megváltoztatása után meghívjuk az Invalidate metódust, a komponens képének frissítése érdekében.
A komponens maximum 5 függvény megjelenítését teszi lehetővé. Ezt az öt függvényt egy 5 elemű tömbben tárolja el, ahol minden egyes elem TList típusú.
Points: array[1..5] of TList;
A koordináta tengelyeken megjelenítendő számskála real típusú számokat tartalmaz. Hogy megfelelően át tudjuk konvertálni ezeket a számokat string-é, a Digits tulajdonságnak megfelelően, szükséges egy függvény.
function TCoordinate.GetString(Number: Real): String;
begin
  Result:=FloatToStrF(Number,ffFixed,4,FDigits);
end;
És most vegyük sorra a függvényt kialakító metódusokat.
Az AddPoint metódus
Egy függvény pontjait ezen a metóduson keresztül lehet felvenni, egyesével.
procedure TCoordinate.AddPoint(IList: Byte; IPoint: TCPoint);
Nagyon fontos, hogy egy függvény pontjait rendezett sorban, az x koordináta szerint növekvő sorrendben tároljuk. Ha ezt így tesszük, akkor nem lesz gondunk abból, hogy mely pontokat kössük össze a Paint metódusban, hiszen csak az egymás melletti pontokat kell összekötni majd.
A DeletePoint metódus
procedure DeletePoint(IList: Byte; IPoint: TCPoint);
Ez a metódus függvénypontok törlésére szolgál. Minden egyes pontot, amely a paraméterben megadott színnel és koordinátákkal rendelkezik, töröl a függvényből.
A ClearPoints metódus
procedure ClearPoints(IList: Byte);
A metódus a paraméterben megadott teljes függvényt törli.
A függvények megrajzolása
A függvényeket a Paint metódus rajzolja meg.
Egy függvénypont helyének kiszámítása és megrajzolása az alábbi módon történik.
Pixels[Width div 2+Round(p.X*30/StepX),Height div 2+Round((-1)*p.Y*30/StepY)]:=p.Color;

Cikksorozat

#IDKategóriaCikk címeSorozat
1099DelphiDBChart komponens felhasználása1. rész
1113DelphiTDBChart komponens2. rész
1122DelphiTDBChart komponens3. rész
1132DelphiTDBChart komponens4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 700. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |