HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

QuickReport-ban nyomtatható TGauge komponens adatbázis eléréssel


Példaprogram letöltése

12018 bájt

Amikor egy adatbázisban olyan értékeket is tárolunk, melyeknek százalékos megjelenítése nyomtatásban is szerepel terveink között, akkor jól fog jönni az alábbi komponens. Ez leginkább a Samples paletta TGauge komponensére hasonlít, azzal a különbséggel, hogy az adatokat adatbázisból veszi, és a QuickReport-on elhelyezhető nyomtatható komponens.
A mellékelt példaprogram megnyitása előtt a QRDBGauge.pas-ban lévő komponenst telepítenie kell a Delphi alá.

Nyomtatható QuickReport komponensről van szó, tehát a QRPrintable osztályból származtatjuk. A következő property-ket hozzuk létre:
  • Background: háttérszín.
  • Foreground: előtér szín. Ez fogja az értéksávot jelölni.
  • Indicator: igaz érték esetén egy vonalat rajzol a sáv végére. Ez akkor használható jól, ha fekete-fehér nyomtatót használunk árnyalatok nélkül, és az előtérszín és a háttérszín egyaránt fehér.
  • MaxValue: a maximális érték, amihez az adatot viszonyítani kell.
  • DataSet: TDataset osztályból származó komponens (TTable, TQuery, stb.).
  • DataField: az adatmező, amiben az érték található.
A komponens megrajzolása a már eddig is jól bevált RedrawTo eljárásban történik. Ebben ellenőrizzük, hogy a FFieldOK változó értéke igaz-e, és ha igen, akkor az FField változóban eltároljuk a mező adatait.
procedure TQRDBGauge.RedrawTo;
…
  if FFieldOK then begin
    if FDataSet.DefaultFields then FField:=FDataSet.Fields[FFieldNo];
  end else begin
    FField := nil;
  end;
Megnézzük, hogy a mező egész, vagy valós típusú számot tartalmaz-e, és ennek megfelelően olvassuk ki a value változóba.
  if Assigned(FField) then begin
    if FField.DataType=ftFloat then begin
      value := TFloatField(FField).Value;
    end else begin
      value := TIntegerField(FField).Value;
    end;
  end else value:=0;
A cw és ch változókban eltároljuk a megrajzolandó sáv szélességét és magasságát. Az x és y változók a megrajzolandó terület koordinátái. Az xp változóban tároljuk a sáv jobb szélének X koordinátáját. A többi már csak egyszerű rajzolás a Canvas-ra (canv paraméter).



Cikksorozat

#IDKategóriaCikk címeSorozat
1063DelphiInterbase 6 alkalmazása Delphi-ben1. rész
1072DelphiInterbase 6 alkalmazása Delphi-ben2. rész
1084DelphiInterbase 6 alkalmazása Delphi-ben3. rész
1092DelphiTIBTable komponens4. rész
1102DelphiTIBTransaction komponens5. rész
1111DelphiTIBQuery komponens6. rész
1120DelphiTIBStoredProc komponens7. rész
1128DelphiTIBDataSet komponens8. rész
1141DelphiTIBSQL komponens9. rész
1150DelphiTIBSQLMonitor komponens10. rész
1159DelphiTIBUpdateSQL komponens11. rész
1167DelphiIBEvents komponens12. rész
1177DelphiIBDatabaseInfo komponens használata13. rész
1183DelphiTIBConfigService komponens14. rész
1192DelphiTIBSecurityService komponens15. rész
1204DelphiTIBServerProperties komponens16. rész
1213DelphiTIBBackupService komponens17. rész
1222DelphiTIBRestoreService komponens18. rész
1231DelphiTIBValidationService komponens19. rész
1240DelphiTIBStatisticalService komponens20. rész
1249DelphiTIBLogService komponens21. rész
1258DelphiTIBUninstall komponens22. rész
1267DelphiInterBase Express komponenscsomag23. rész


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