HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Fizikai állandókat tároló komponens készítése


Példaprogram letöltése

5119 bájt

Amikor matematikai számításokat végzünk a Delphi-vel, lehetőségünk van arra, hogy a Pi konstans értékét ne kelljen számokkal beírnunk, hanem elég, ha csak a „Pi” szócskát gépeljük be, és a rendszer automatikusan behelyettesíti a megfelelő értéket. Miért ne tehetnénk meg ugyanezt a fizikai állandókkal is, melyekből amúgy is szép számmal akad? Készítsünk hát egy komponenst, mely mindezeket tárolja.

A mellékelt példaprogram megnyitása előtt a Ph.pas-ban levő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
Mivel saját komponenst készítünk, az állandókra a komponensnév.property formában tudunk hivatkozni. Épp ezért a komponens valamint a property nevét célszerű rövidre választani, hogy a képletekben ne kelljen hosszú nevekkel dolgoznunk. Az egyes állandóknak akkor adunk értéket, mikor a komponensünk létrejön:
constructor TPh.Create(AOwner: TComponent);
begin
  ConstLightspeed:=2.99793*Power(10,8);
  ConstGravity:=9.80665;
  ConstAvogadro:=6.0225*Power(10,23);
...
  inherited;
end;
A Power függvény segítségével végezzük a hatványozást. Mivel nagyon nagy, illetve igen kis értékekkel is dolgozunk, a komponens Private részében az állandókat extended típusúnak deklaráltuk, melynek tartománya 3.6 x 10^–4951 és 1.1 x 10^4932 közötti.
  TPh = class(TComponent)
  private
    { Private declarations }
    ConstLightspeed: extended;
    ConstGravity: extended;
    ConstAvogadro: extended;
    ...
Mivel nem szeretnénk, ha a komponensben az állandók értékét bárki is át tudná írni, készítünk egy közös függvényt, melyet Dummy-nak nevezünk el. Ezt a függvényt hívjuk meg akkor, ha a property-be beírás történik.
  published
    { Published declarations }
    property c: extended read ConstLightspeed write Dummy;
    property g: extended read ConstGravity write Dummy;
    property Na: extended read ConstAvogadro write Dummy;
    ...
Ez a függvény gyakorlatilag nem tesz semmit, tehát ha átírjuk bármelyik property értékét, akkor annak tartalma nem íródik felül az általunk bevitt értékkel.
A mellékelt példaprogramban kilistázzuk a komponens által tárolt összes állandó betűjelét, nevét, illetve értékét, valamint láthatunk egy példát is annak használatára.

Cikksorozat



Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 549. 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 |