Advertisement
Guest User

Untitled

a guest
Sep 19th, 2014
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.13 KB | None | 0 0
  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "projekt1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm2 *Form2;
  11. //======blok definiowania danych======
  12. int luk=85, wskazowka=85, lewo=90, gora=51; // deklaracja zmiennych
  13. float PI=3.14; 
  14. int c,x,y,wektorDanych[30];     //deklaracja zmiennych i tworzenie wektora danych
  15. //---------------------------------------------------------------------------
  16. __fastcall TForm2::TForm2(TComponent* Owner)
  17.     : TForm(Owner)
  18. {
  19. fstream dane( "parametry.txt", std::ios::in); // wczytywanie danych z pliku
  20. for (int t=0; t < 30; t++)  //
  21. {               //
  22. dane>>wektorDanych[t];      //  wpisywanie danych do wektora jeden po drugim
  23. }               //
  24. dane.close();           //
  25. skala();
  26. }
  27. //---------------------------------------------------------------------------
  28. void  TForm2::skala()
  29. {
  30.         Image1->Canvas->Font->Color=RGB(0,0,0);//===tło====                przekazywanie strumieni danych
  31.         Image1->Canvas->TextOut(100,190,"0");   // textpout wypisanie tekstu na płótnie
  32.         Image1->Canvas->TextOut(65,110,"150");
  33.         Image1->Canvas->TextOut(105,50,"260");
  34.         Image1->Canvas->TextOut(165,30,"350");
  35.         Image1->Canvas->TextOut(225,50,"450");
  36.         Image1->Canvas->TextOut(265,110,"575");
  37.         Image1->Canvas->TextOut(245,190,"700");
  38.         Image1->Canvas->Font->Color=clBlack;   // kolor czcionki
  39.         Image1->Canvas->Pen->Width=3;       // grubosc pióra
  40.         Image1->Canvas->MoveTo(lewo + luk, gora+luk); // przejscie w miejsce o podanych współrzzędnych
  41.         Image1->Canvas->Pen->Color=RGB(0,180,0);    // kolor pióra
  42.         x = floor(cos(PI * (0 * 270 / 700 + 135) / 180)
  43.         * (wskazowka - (wskazowka/100*10)) + lewo + luk);   // floor - zaokrąglenie w dół; dalej obliczanie współrzędnej x
  44.         y = floor (sin(PI* ( 0* 270/700+135)/180)
  45.         * (wskazowka - (wskazowka/100*10)) + gora + luk);
  46.         Image1->Canvas->LineTo(x,y);
  47. }
  48. //---------------------------------------------------------------------------
  49. void __fastcall TForm2::Timer1Timer(TObject *Sender)
  50. {
  51. Image1->Picture=NULL;
  52. skala();
  53. //wczytywanie danych
  54. Edit1->Text=wektorDanych[c];    // wyświetlenie wskazywanej wartosci w polu Edit1
  55. if(c>=30)
  56. {
  57. Timer1->Enabled=0;  // włączenie timera
  58. c=0;
  59. Edit1->Text="";
  60. }
  61. Image1->Canvas->Pen->Width=3;
  62. Image1->Canvas->MoveTo(lewo + luk, gora + luk);
  63. Image1->Canvas->Pen->Color=RGB(0,180,0);
  64. x = floor(cos(PI * ((wektorDanych[c] * 270/700)+135)/180)
  65. * (wskazowka - (wskazowka/100*10)) + lewo + luk);       // floor - zaokrąglenie w dół; dalej obliczanie współrzędnej x
  66. y = floor (sin(PI* ( 0* 270/700+135)/180)
  67. * (wskazowka - (wskazowka/100*10)) + gora + luk);
  68. Image1->Canvas->LineTo(x,y);                // rysowanie lini prostej od współrzędnej podanej w MoveTo(lewo + luk, gora + luk) do współrzednej podanej tutaj czyli LineTo(x,y)
  69.  
  70. c++;    // inkrementacja
  71. }
  72. //---------------------------------------------------------------------------
  73. void __fastcall TForm2::Button1Click(TObject *Sender)
  74. {
  75. Timer1->Enabled=true;   // włączenie timera
  76. }
  77. //---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement