Permalänk
Medlem

C++ forms - tid

Tjenare!
håller på och knåpar ihop ett enkelt system för in/ustämpling på jobbet.
Och nu så vill jag helt enkelt att man inte ska kunna trycka på en knapp innan klockan 17:00, hur gör jag för att i en c++ forms applikation använda systemtiden?
typ

if(systemtime != jobendingtime)
this->button1->Enabled =false;

sådär vill jag att det ska fungera, vet dock inte hur jag ska få systemtime och jobendingtime att fungera..
hoppas ni förstår vad jag menar!

mvh

Visa signatur

Outtröttlig, löpartokig besserwisser!

Bli vegan! För djuren, planeten, hälsan och våra barns skull!

Permalänk
Hedersmedlem

Något åt det här hållet kanske?

System::Timers::Timer^ t; System::DateTime jobendingtime; private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { t = gcnew System::Timers::Timer(1000); t->Elapsed += gcnew System::Timers::ElapsedEventHandler(this, &Form1::checkTime); jobendingtime = System::DateTime::Now.AddSeconds(10); t->Start(); } void setEnabled(bool enabled) { button1->Enabled = enabled; } delegate void setEnabledDelegate(bool enabled); void checkTime(System::Object^ sender, System::Timers::ElapsedEventArgs^ arg) { if(button1->Enabled && System::DateTime::Now < jobendingtime) { setEnabledDelegate^ e = gcnew setEnabledDelegate(this, &Form1::setEnabled); button1->Invoke(e, false); } else if(!button1->Enabled && System::DateTime::Now > jobendingtime) { setEnabledDelegate^ e = gcnew setEnabledDelegate(this, &Form1::setEnabled); button1->Invoke(e, true); } }

Om man vill göra det lätt för sig kan man dock lägga till en klocka direkt på formuläret och från den köra

if(button1->Enabled && System::DateTime::Now < jobendingtime) button1->Enabled = false; else if(!button1->Enabled && System::DateTime::Now > jobendingtime) button1->Enabled = true;