HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Grafikonok létrehozása, típusaik


Excel grafikonok 1. rész

Példaprogram letöltése

3596 bájt

Új sorozatunk segítségével megismerhetjük az Excel grafikonok programozásának lehetőségeit. Több részen keresztül megismerkedhetünk a grafikonok létrehozására és formázására szolgáló Excel objektumokkal, azok tulajdonságaival és használatukkal. Az első részben megnézzük, hogy hogyan lehet létrehozni egy grafikont, valamint hogy milyen típusú grafikonokat készíthetünk.

Készítünk egy példaprogramot, amely a háttérben megnyitja az Excel-t. Néhány cellát feltölt véletlen számokkal, majd ebből grafikont készít. A grafikont, vágólapon keresztül átmásoljuk a Delphi alkalmazásunkba, és ott jelenítjük meg.
Az Excel programhoz és objektumaihoz OleVariant típusú objektumok segítségével kapcsolódhatunk. Az OleVariant típus használatához a uses listában fel kell sorolnunk a ComObj unit nevét is.
Első lépésben elindítjuk a háttérben az Excel programot és létrehozunk egy új munkafüzetet.
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.Workbooks.Add;
Hogy diagramot tudjunk készíteni, feltöltünk néhány cellát, véletlen számokkal. Létrehozunk egy kis táblázatot, amely A, B és C oszlopokkal, valamint 5 sorral rendelkezik. Egy cellának a Range objektum segítségével adhatunk értéket.
ExcelApp.Range[Col+'1',Col+'1'].Value:=Chr(64+x);
Ha elkészült a táblázat, akkor már van miből grafikont készítenünk. Először ki kell jelölnünk azt a tartományt, amelyből a grafikon készül. Ehhez szintén a Range objektumot használjuk.
ExcelApp.Range['A1','D6'].Select;
Egy teljes grafikont a Chart objektum képvisel. Az alábbi kóddal létrehozunk egy új diagramot, amelyet elmentünk a MyChart változóba.
MyChart:=ExcelApp.ActiveWorkbook.Charts.Add;
Eddig csak azt adtuk meg az Excel-nek, hogy készítsen egy grafikont, de azt nem adtuk meg, hogy milyet. Ilyenkor automatikusan egy oszlop diagram jön létre, mégpedig a csoportosított oszlop névre hallgató változat.
A Chart objektum ChartType tulajdonságán keresztül lekérdezhetjük egy grafikon típusát, vagy akár módosíthatjuk is azt. Módosítsuk a grafikon típusát 3D-s oszlopdiagramra, kúpos formával.
MyChart.ChartType:=xlConeCol;
Ezzel a háttérben el is készült a grafikon, azonban mi, mint felhasználók, az egészből még semmit nem láttunk.
A Chart objektum rendelkezik egy metódussal, amely segítségével a teljes grafikont kimásolhatjuk a vágólapra. Ez a metódus, a CopyPicture.
MyChart.CopyPicture;
A vágólapon lévő képet már könnyedén fel tudjuk használni egy Delphi alkalmazásban.
Image1.Picture.Assign(Clipboard);
Mielőtt a fenti kódot használnánk, az Image komponens Stretch tulajdonságát állítsuk igazra.
Nem maradt más hátra, mint hogy a háttérben futó Excel programot bezárjuk.
ExcelApp.ActiveWorkbook.Close(False);
ExcelApp.Quit;
Használható grafikon típusok
Az Excelben sokféle grafikon létezik. Minden egyes grafikonhoz a rendszerben egy konstans név van rendelve, ha ezeket fel akarjuk használni, ismernünk kell a konstansok neveit és értékeit, valamint hogy melyik mit takar. Az alábbi táblázat ebben segít eligazodni. Az itt szereplő konstans nevek megtalálhatóak a Delphi-hez mellékelt Excel*.pas állományban. Az állomány alapértelmezett helye a Delphi*\Ocx\Servers könyvtár.
Konstans Érték Grafikon
xlColumnClustered $00000033 Csoportosított oszlop
xlColumnStacked $00000034 Halmozott oszlop
xlColumnStacked100 $00000035 100%-ig halmozott oszlop
xl3DColumnClustered $00000036 Csoportosított oszlop térhatással
xl3DColumnStacked $00000037 Halmozott oszlop térhatással
xl3DColumnStacked100 $00000038 100%-ig halmozott oszlop térhatással
xl3DColumn $FFFFEFFC 3D oszlop
xlBarClustered $00000039 Csoportosított sáv
xlBarStacked $0000003A Halmozott sáv
xlBarStacked100 $0000003B 100%-ig halmozott sáv
xl3DBarClustered $0000003C Csoportosított sáv térhatással
xl3DBarStacked $0000003D Halmozott sáv térhatással
xl3DBarStacked100 $0000003E 100%-ig halmozott sáv térhatással
xlLine $00000004 Vonal
xlLineStacked $0000003F Halmozott vonal
xlLineStacked100 $00000040 100%-ig halmozott vonal
xlLineMarkers $00000041 Vonal, minden adatértéknél jelölővel
xlLineMarkersStacked $00000042 Halmozott vonal minden adatértéknél jelölővel
xlLineMarkersStacked100 $00000043 100%-ig halmozott vonal minden adatértéknél jelölővel
xl3DLine $FFFFEFFB Szalag vonal térhatással
xlPie $00000005 Kör
xl3DPie $FFFFEFFA Torta
xlPieOfPie $00000044 Kör-kör
xlPieExploded $00000045 Robbantott kör
xl3DPieExploded $00000046 Robbantott torta
xlBarOfPie $00000047 Kör-sáv
xlXYScatter $FFFFEFB7 Pont
xlXYScatterSmooth $00000048 Pont, görbített vonalakkal összekötve
xlXYScatterSmoothNoMarkers $00000049 Pont, görbített vonalakkal összekötve, jelölők nélkül
xlXYScatterLines $0000004A Pont, vonalakkal összekötve
xlXYScatterLinesNoMarkers $0000004B Pont, vonalakkal összekötve, jelölők nélkül
xlArea $00000001 Terület
xlAreaStacked $0000004C Halmozott terület
xlAreaStacked100 $0000004D 100%-ig halmozott terület
xl3DArea $FFFFEFFE Terület térhatással
xl3DAreaStacked $0000004E Halmozott terület térhatással
xl3DAreaStacked100 $0000004F 100%-ig halmozott terület térhatással
xlDoughnut $FFFFEFE8 Perec
xlDoughnutExploded $00000050 Robbantott perec
xlRadar $FFFFEFC9 Sugár
xlRadarMarkers $00000051 Sugár, jelölőkkel
xlRadarFilled $00000052 Kitöltött sugár
xlSurface $00000053 3D felület
xlSurfaceWireframe $00000054 3d felület-váz
xlSurfaceTopView $00000055 Körvonal
xlSurfaceTopViewWireframe $00000056 Körvonal-váz
xlBubble $0000000F Buborék
xlBubble3DEffect $00000057 Buborék térhatással
xlStockHLC $00000058 Max-Min-Zár
xlStockOHLC $00000059 Nyit-Max-Min-Zár
xlStockVHLC $0000005A Mennyiség-Max-Min-Zár
xlStockVOHLC $0000005B Mennyiség-Max-Min-Zár
xlCylinderColClustered $0000005C Oszlopdiagram hengeres formával
xlCylinderColStacked $0000005D Halmozott oszlopdiagram hengeres formával
xlCylinderColStacked100 $0000005E 100%-ig halmozott oszlopdiagram hengeres formával
xlCylinderBarClustered $0000005F Sávdiagram hengeres formával
xlCylinderBarStacked $00000060 Halmozott sávdiagram hengeres formával
xlCylinderBarStacked100 $00000061 100%-ig halmozott sávdiagram hengeres formával
xlCylinderCol $00000062 3D oszlopdiagram hengeres formával
xlConeColClustered $00000063 Oszlopdiagram kúpos formával
xlConeColStacked $00000064 Halmozott oszlopdiagram kúpos formával
xlConeColStacked100 $00000065 100%-ig halmozott oszlopdiagram kúpos formával
xlConeBarClustered $00000066 Sávdiagram kúpos formával
xlConeBarStacked $00000067 Halmozott sávdiagram kúpos formával
xlConeBarStacked100 $00000068 100%-ig halmozott sávdiagram kúpos formával
xlConeCol $00000069 3D oszlopdiagram kúpos formával
xlPyramidColClustered $0000006A Oszlopdiagram kúpos formával
xlPyramidColStacked $0000006B Halmozott oszlopdiagram kúpos formával
xlPyramidColStacked100 $0000006C 100%-ig halmozott oszlopdiagram kúpos formával
xlPyramidBarClustered $0000006D Sávdiagram kúpos formával
xlPyramidBarStacked $0000006E Halmozott sávdiagram kúpos formával
xlPyramidBarStacked100 $0000006F 100%-ig halmozott sávdiagram kúpos formával
xlPyramidCol $00000070 3D oszlopdiagram kúpos formával

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


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