[C++] Liczby z pliku + obiekty


(Artur520) #1

Witam, mam za zadanie na pisać projekt w języku C++, środowisko Borland 2007.

Ma to polegać na tym. Iż z pliku txt wartości danych będą wyświetlane na wskaźniku analogowym. Mam zrobiony projekt dla suwaka (ręcznie podaje wartości, wskazówka analogowa się porusza). Jednak nie potrafię zamienić tego, aby wartości z pliku poruszały wskaźnikiem.

mier.cpp

#include 

#include 

#include 

#include 

#pragma hdrstop

#include 

#include "mier.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

	: TForm(Owner)

{

BitmapaTlo=NULL;

BitmapaTlo=new Graphics::TBitmap;

BitmapaTlo->LoadFromFile("..\\term.bmp");

Prostokat.left=0;

Prostokat.right=BitmapaTlo->Width;

Prostokat.top=0;

Prostokat.bottom=BitmapaTlo->Height;

TloWoltomierza->Canvas->CopyRect(Prostokat,BitmapaTlo->Canvas,Prostokat);

//========================================================================

BitmapaWskazowki==NULL;

BitmapaWskazowki=new Graphics::TBitmap;

BitmapaWskazowki->Width=BitmapaTlo->Width;

BitmapaWskazowki->Height=BitmapaTlo->Height;

BitmapaWskazowki->Canvas->CopyRect(Prostokat,BitmapaTlo->Canvas,Prostokat);

BitmapaWskazowki->Canvas->Pen->Width=5;//grubość

BitmapaWskazowki->Canvas->Pen->Color=clRed;//kolor

//definiowanie pierwszego punktu położenia odcinka

BitmapaWskazowki->Canvas->MoveTo(BitmapaWskazowki->Width-110,60);

//definiowanie drugiego punktu położenia odcinka

BitmapaWskazowki->Canvas->LineTo(BitmapaWskazowki->Width-50,137);

TloWoltomierza->Canvas->CopyRect(Prostokat,BitmapaWskazowki->Canvas,Prostokat);

//========================================================================

BitmapaWskazowki->Canvas->Ellipse(150,150,200,200);



}

//---------------------------------------------------------------------------

void __fastcall TForm1::WymiarBmpClick(TObject *Sender)

{

LRozmiarBitmapyX->Caption=IntToStr(BitmapaTlo->Width);

//IntToStr jawna konwersja integer do string

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ScrollBarWskazowkiChange(TObject *Sender)

{

	if (BitmapaTlo==NULL)return;


	ifstream pin;

	int rob[10];

	int suma = 0;

	pin.open("..\\test.txt");


	int tt;

	cout<
	for (int i= 0; i < 10; i++)

	 {

			 pin>>rob[i];

			 cout<
WskazowkaBlue=new Graphics::TBitmap;

WskazowkaBlue->Width=BitmapaTlo->Width;

WskazowkaBlue->Height=BitmapaTlo->Height;

WskazowkaBlue->Canvas->CopyRect(Prostokat,BitmapaTlo->Canvas,Prostokat);

WskazowkaBlue->Canvas->Pen->Width=3;//grubość

WskazowkaBlue->Canvas->Pen->Color=clBlue;//kolor


WskazowkaBlue->Canvas->MoveTo(0,WskazowkaBlue->Width);

WskazowkaBlue->Canvas->Brush->Style=bsClear;

WskazowkaBlue->Canvas->Brush->Style=bsSolid;

WskazowkaBlue->Canvas->Brush->Color=clLime;


int Kat;

int DlugoscWskaznika=WskazowkaBlue->Height-40;

int XWskaznika;

int YWskaznika;

XWskaznika=DlugoscWskaznika*Sin(Kat*3.14/180);//policzyc kąty

YWskaznika=DlugoscWskaznika*Cos(Kat*3.14/180);

//wskaż początek rysowania

WskazowkaBlue->Canvas->MoveTo(0,WskazowkaBlue->Height);

//policzyć koniec rysowania, przliczyć współrzedną Y

YWskaznika=WskazowkaBlue->Height-YWskaznika;

//narysuj na ekranie konic wskazowki

WskazowkaBlue->Canvas->LineTo(XWskaznika,YWskaznika);

TloWoltomierza->Canvas->CopyRect(Prostokat,WskazowkaBlue->Canvas,Prostokat);





Sleep(0.01); // spowalnia animacje


//instrukcje do kasowania wszystkich wczytywanych klas obiektu

delete WskazowkaBlue;

	 }

WskazowkaBlue=NULL;

}

mier.h

//---------------------------------------------------------------------------


#ifndef mierH

#define mierH

//---------------------------------------------------------------------------

#include 

#include 

#include 

#include 

//Wprowadzamy nowe bibliteki

#include //biblioteka matematyka

#include 

#include //biblioteka graficzna

//---------------------------------------------------------------------------

class TForm1 : public TForm

{

__published:	// IDE-managed Components

	TImage *TloWoltomierza;

	TLabel *Label1;

	TLabel *LRozmiarBitmapyX;

	TButton *WymiarBmp;

	TLabel *LBkat;

	TScrollBar *ScrollBarWskazowki;

	TComboBox *ComboBox1;

	void __fastcall WymiarBmpClick(TObject *Sender);

	void __fastcall ScrollBarWskazowkiChange(TObject *Sender);

	void __fastcall ComboBox1Change(TObject *Sender);

private:	// User declarations

	Graphics::TBitmap*BitmapaTlo;

	TRect Prostokat;

	Graphics::TBitmap*BitmapaWskazowki;

	Graphics::TBitmap*WskazowkaBlue;


public: // User declarations

	__fastcall TForm1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 *Form1;

//---------------------------------------------------------------------------

#endif

jak sobie z tym poradzić?


([alex]) #2

Bo wczytujesz liczbę z pliku i jej nie używasz nigdzie.