eit2_l5.pdf

(161 KB) Pobierz
Microsoft Word - eit2_l5.doc
Językiprogramowania
Laboratorium5–Wizualizacja danych
1
Stwórznowyprojektizapiszgowswoimfolderze.NastępniestwórznowyUnitzapomocą
menuFile->New->Unit
C++Builderwygenerujeplikcpporazh.
Wygenerowanepliki.horaz.cpp
DanielKról–PWSZTarnów
170470719.019.png 170470719.020.png 170470719.021.png 170470719.022.png 170470719.001.png 170470719.002.png
Językiprogramowania
Laboratorium5–Wizualizacja danych
2
Wykorzystując wiadomości z poprzedniego ćwiczenia stwórz klasęMPlot która umoŜliwi
rysowanie wykresów. Do poniŜszego szkieletu klasy dopisz odpowiednie funkcje oraz
właściwości.
Wpliku.humieśćdeklaracjęklasy:
#include <vcl.h>
//---------------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
class MPlot
{
private:
TCanvas *pCnv;
void GridLinear();
public:
MPlot(TCanvas *Cnv);
void PlotLinear();
};
//---------------------------------------------------------------------------
#endif
Wpliku.cppumieśćkodmetodzawartychwklasie:
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
MPlot::MPlot(TCanvas *Cnv)
{
pCnv=Cnv;
}
//---------------------------------------------------------------------------
void MPlot::GridLinear()
{
}
//---------------------------------------------------------------------------
void MPlot::PlotLinear()
{
}
//---------------------------------------------------------------------------
DanielKról–PWSZTarnów
170470719.003.png 170470719.004.png 170470719.005.png 170470719.006.png 170470719.007.png
Językiprogramowania
Laboratorium5–Wizualizacja danych
3
WplikunagłówkowymformatkidołączpliknagłówkowyplikuzklasaMPlot.Natomiastw
polupublicformatkistwórzwskaźnikklasyMPlot:
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "Unit2.h"
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
MPlot *Plot;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Wkonstruktorzeformatki(plik.cpp)stwórzdynamicznieobiektklasyMPlot:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Plot = new MPlot(Canvas);
}
//---------------------------------------------------------------------------
WygenerujzdarzenieOnClose()iumieśćwnimkodusuwającyobiektPlotzpamięci:
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Plot;
}
//---------------------------------------------------------------------------
DanielKról–PWSZTarnów
170470719.008.png 170470719.009.png 170470719.010.png 170470719.011.png 170470719.012.png
Językiprogramowania
Laboratorium5–Wizualizacja danych
4
Klasapowinnaposiadaćnastępującewłaściwości:
  współrzędneokreślająceobszarwykresunp.Sx,Sy,Ex,Ey
  skalowaniewykresuprzyzmianierozmiaruformatki
  typsiatki(ciągłalubkreskowana)
  ilośćkratekwpionieipoziomie
  definicjadługościwektoradanychdowyświetlenia(dynamicznaalokacjatypuint)
  podaniejednostekdlaosi(np.:wolty,sekundy)
  definiowaniekolorówtła,siatki,opisóworazwykresu
  definiowaniegrubościliniiwykresu
  zoompionowyipoziomy
Przykładowywyglądwykresu:
DanielKról–PWSZTarnów
170470719.013.png 170470719.014.png 170470719.015.png 170470719.016.png 170470719.017.png 170470719.018.png
Zgłoś jeśli naruszono regulamin