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ć?