![]() |
[C++Buider] Programma werkend krijgen lukt niet.
Ik ben voor school in C++ Builder een programma aan het maken.Er moet een sinus in de tijd getekend worden. Ik heb hieronder een stuk van het programma: Ik heb dus de .h-file en de C-file al gemaakt, alleen moet ik nog de .C-file maken. Ik ben een beginner in C++, dus heb geen idee hoe ik dat moet doen. Ik heb alleen het tablad Sinus.cpp en Sinus.h.
.h-file: #ifndef SinusH #define SinusH //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ExtCtrls.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TTimer *Timer1; void __fastcall Timer1Timer(TObject *Sender); private: // User declarations public: // User declarations { int X; int Y; } __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif c-file: #include <vcl.h> #include <math.h> #pragma hdrstop #include "Sinus.h" #include "Math.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; # define aantalperioden 4 //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { // Dit is de intialisatie, het laten beginnen van X op 1 en Y op 30 { X=1; Y=30; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { { float H; int pixelperperiode=Form1->Width/aantalperioden; H=2*M_PI*(float)X/(float)pixelperperiode; Canvas->MoveTo(X,Y-floor(sin(H)*30+0.5)); X++; H=2*M_PI*(float)X/(float)pixelperperiode; Canvas->MoveTo(X,Y-floor(sin(H)*30+0.5)); X++; if (X>=Form1->Width)X=1; Dit zijn de errors die ik krijg als ik het programma run: [C++ Error] Sinus.h(19): E2040 Declaration terminated incorrectly [C++ Error] Sinus.cpp(17): E2316 '_fastcall TForm1::{(TComponent *)' is not a member of 'TForm1' [C++ Error] Sinus.cpp(31): E2451 Undefined symbol 'X' [C++ Error] Sinus.cpp(32): E2451 Undefined symbol 'Y' [C++ Warning] Sinus.cpp(39): W8004 'pixelperperiode' is assigned a value that is never used Hopelijk kunnen jullie mij helpen. |
plaats ze eens tussen code tags of paste het op http://www.rafb.net/paste/
Ik zal er effe naar kijken |
sinus.cpp
Code:
//--------------------------------------------------------------------------- Code:
//--------------------------------------------------------------------------- (maak een leeg projectje aan, met de unit sinus.cpp.. de header maakt ie autmatisch aan, en noem het project zelf anders dan 'sinus'.. zet een timer op je form, kopieer dan de inhoud). |
Ik krijg een output writing error. En wat heb je allemaal veranderd in het programma?????
|
1. bij de TForm1 class mogen de members niet tussen haakjes
2. compiler defines worden door de pre-processor alleen herkend als ze als '#define' worden geschreven, dus zonder spatie 3. je timer-functie opent met 2 haakjes en wordt niet afgesloten 4. en ik heb van je 2e MoveTo een LineTo gemaakt, anders wordt helemaal niks getekend ;) |
Zal allemaal wel.;-)
|
Alle tijden zijn GMT +1. Het is nu 23:29. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.