Soyez le premier à donner votre avis sur cette source.
Vue 30 508 fois - Téléchargée 3 305 fois
#pragma once namespace Horloge { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; public __gc class Form1 : public System::Windows::Forms::Form { const double AngleParHeure; const double AngleParMinute; double heure; double minute; double seconde; const int marge; int rayonX, rayonY; Point origine; private: System::Windows::Forms::Label * texteHeure; private: System::Windows::Forms::Label * label1; private: System::Windows::Forms::Label * label2; private: System::Windows::Forms::Label * label3; private: System::Windows::Forms::Label * label4; private: System::Windows::Forms::Label * label5; private: System::Timers::Timer * timer; public: Form1(void) : AngleParHeure(Math::PI / 6.0), AngleParMinute(Math::PI / 6.0 / 5.0), marge(30) { InitializeComponent(); heure = minute = seconde = 0; rayonX = ClientSize.Width/2.0 - marge; rayonY = ClientSize.Height/2.0 - marge; origine.X = ClientSize.Width/2.0; origine.Y = ClientSize.Height/2.0; } protected: void Dispose(Boolean disposing) { if (disposing && components) { components->Dispose(); } __super::Dispose(disposing); } private: System::ComponentModel::Container * components; void InitializeComponent(void) { } private: System::Void Form1_Paint(System::Object * sender, System::Windows::Forms::PaintEventArgs * e) { Graphics *zoneClient = CreateGraphics(); Pen *bleu = new Pen(Color::Blue, 4); Pen *vert = new Pen(Color::Green, 4); Pen *rouge =new Pen(Color::Red, 4); Pen *noir =new Pen(Color::Black, 4); // zoneClient->DrawEllipse(bleu, marge, marge, 2*rayonX, 2*rayonY); double AngleHeure = Math::PI/2.0-heure*AngleParHeure; double AngleMinute = Math::PI/2.0-minute*AngleParMinute; double AngleSeconde = Math::PI/2.0-seconde*AngleParMinute; zoneClient->DrawLine(rouge, origine, origine+Point((rayonX-70)*Math::Cos(AngleHeure), -(rayonY-70)*Math::Sin(AngleHeure))); zoneClient->DrawLine(vert, origine, origine+Point((rayonX-30)*Math::Cos(AngleMinute), -(rayonY-30)*Math::Sin(AngleMinute))); zoneClient->DrawLine(bleu, origine, origine+Point(rayonX*Math::Cos(AngleSeconde), -rayonY*Math::Sin(AngleSeconde))); for (int i=0; i<12; i++) zoneClient->DrawLine(noir, origine+Point((rayonX-10)*Math::Cos(AngleParHeure*i), -(rayonY-10)*Math::Sin(AngleParHeure*i)), origine+Point(rayonX*Math::Cos(AngleParHeure*i), -rayonY*Math::Sin(AngleParHeure*i))); zoneClient->Dispose(); } private: System::Void timer_Elapsed(System::Object * sender, System::Timers::ElapsedEventArgs * e) { DateTime temps = DateTime::get_Now(); heure = temps.get_Hour()+temps.get_Minute()/60.0; minute = temps.get_Minute()+temps.get_Second()/60.0; seconde = temps.get_Second(); texteHeure->Text = String::Concat(temps.get_Hour().ToString(), S" : ", temps.get_Minute().ToString(), S" : ", seconde.ToString()); Invalidate(); } private: System::Void Form1_Resize(System::Object * sender, System::EventArgs * e) { rayonX = ClientSize.Width/2.0 - marge; rayonY = ClientSize.Height/2.0 - marge; origine.X = ClientSize.Width/2.0; origine.Y = ClientSize.Height/2.0; } }; }
Par contre l'idée qu'il n'y ait qu'un seul administrateur chargé de ne pas valider les sources comme la mienne, serait un peu dur, car tout le monde n'as pas la perfection en programmation .net, comme toi cher ami.
Bonne continuation et merci de tes remarques. ;-)
maintenant ça tient pas debout cette histoire de .cpp pour le code source et le .h pour les declaration : windows form :-> tous dans le .h comme ça on se fait pas ch*** !
nan mais franchement y'a quelqu'un sur le forum qui arrive a declarer des fonctions dans la classe (.h) et de les definir dans le cpp ? en gros y'a des gens ici qui programme vraiment en .net car j'ai l'impression que personne peut m'aider a chaque fois que je parle de .net .... m'enfin je me debrouille tous seul il me faut juste plus de temps ...
ça serait bien de nommer un admin pour le .net ou un gars charger de s'en occupai car c'est clairement laisser a l'abandon sur le forum !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.