Tampilkan postingan dengan label time. Tampilkan semua postingan
Tampilkan postingan dengan label time. Tampilkan semua postingan

Jumat, 20 April 2012

Ambil Waktu System (Komputer) – Visual C++


Postingan kali ini akan coba dibahas sedikit tentang cara mengambil waktu system. Pengambilan data ini bermanfaat saat kita membuat sebuah aplikasi yang membutuhkan data waktu dari komputer yang digunakan komputer yang menjalankan aplikasi yang telah kita buat.
Untuk bisa mengakses data waktu dari system/komputer, kita memerlukan sebuah library yaitu “time.h”. Dengan library tersebut kita bisa mengakses waktu mulai dari detik, menit, jam dan tanggal. Saat mengakses waktu dalam bentuk jam, menit, detik dan yang berkaitan dengan waktu system kita juga memanfaatkan struktur (struct tm) yang telah disediakan didalam library “time.h”.
Selain itu, untuk dapat mengakses waktu kita juga memanfaatkan fungsi “localtime”.

Berikut ini contoh program mengambil data waktu system kemudian ditampilkan di textbox, yang mana pengambilan data nya memanfaatkan event button click.

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
       //deklarasi objek yang memanfaatkan class dan struct yang ada di library time.h
       time_t rawtime;
       struct tm * timeinfo;
                            
//deklarasi variabel untuk menampung data sementara dari pemanggilan fungsi localtime
       char jam,menit,detik;

       //proses pengambilan data waktu sistem
       time ( &rawtime );
timeinfo = localtime ( &rawtime );
                            
//proses pemindahan data waktu sesuai dengan format ke dalam variabel
       jam=timeinfo->tm_hour;     //format untuk jam
       menit=timeinfo->tm_min;    //format untuk menit
       detik=timeinfo->tm_sec;    //format untuk detik

       //menampilkan data waktu yang telah diambil kedalam textBox
       textBox1->Text=jam.ToString();
       textBox2->Text=menit.ToString();
       textBox3->Text=detik.ToString();
}

Program diatas akan mengambil data waktu sesuai dengan format waktu jam, menit dan detik. Format jam yang diambil adalah format 24 jam.
Program diatas juga bisa kita modifikasi dengan menambahkan sebuah timer, sehingga bisa memunculkan waktu system secara realtime yang kemudian ditampilkan kedalam sebuah label. Berikut ini merupakan contoh programnya yang memanfaatkan event timer_tick dengan menggunakan interval timer sebesar 100.


private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
       //deklarasi objek yang memanfaatkan class dan struct yang ada di library time.h
       time_t rawtime;
       struct tm * timeinfo;
                            
//deklarasi variabel untuk menampung data sementara dari pemanggilan fungsi localtime
       char jam,menit,detik;

       //proses pengambilan data waktu sistem
       time ( &rawtime );
       timeinfo = localtime ( &rawtime );
                            
       //proses pemindahan data waktu sesuai dengan format ke dalam variabel
       jam=timeinfo->tm_hour;     //format untuk jam
       menit=timeinfo->tm_min;    //format untuk menit
       detik=timeinfo->tm_sec;    //format untuk detik
                            
       //menampilkan data jam, menit dan detik kedalam sebuah label
       label4->Text=jam.ToString() + " : " + menit.ToString() + " : " + detik.ToString();
}

Sebelum menjalankan program diatas, nilai timer1->Enabled harus disetting “true” agar timer aktif. Kalau dilihat dari programnya, sama saja yang berbeda hanya jika menggunakan event yang digunakan adalah button_click maka program hanya dijalankan 1 kali saja(hanya pada saat button ditekan) sehingga waktu yang didapat adalah waktu saat penekanan tombol (button). Jika menggunakan event timer_tick, selama timer aktif maka program akan dijalankan terus menerus selama event timer_tick berlaku, hal tersebut mengakibatkan pengambilan data yangterus menerus dan akan menghasilkan data waktu yang tampil di label bersifat realtime.