線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1393
推到 Plurk!
推到 Facebook!

如何控制執行時間的速度

 
nichjack
一般會員


發表:1
回覆:0
積分:0
註冊:2006-11-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-09 00:57:57 IP:59.113.xxx.xxx 未訂閱
我借一下我同學寫的控制時間顯示速度的程式碼~
[code]#include
using std::cout;
#include
using std::setfill;
using std::setw;
// include definition of class Time from time3.h
#include "time3.h"
// constructor function to initialize private data;
// class member function setTime to set variables;
// default values are 0 (see class definition)
Time::Time( int hr , int min , int sec )
{
setTime( hr, min , sec );
}// end Time constructor
//set hour, minute and second values
void Time::setTime( int h, int m, int s)
{
setHour( h );
setMinute( m );
setSecond( s );
}// end function setTime
//set hour value
void Time::setHour( int h )
{
hour = ( h>=0 && h<24) ? h:0;
}// end function setHour
//set minute value
void Time::setMinute( int m )
{
minute = ( m>=0 && m<60) ? m:0;
}// end function setMinute
//set second value
void Time::setSecond( int s )
{
second = ( s>=0 && s<60 ) ? s:0;
}//end function serSecond
//return hour value
int Time::getHour()
{
return hour;
}//end funciton getHour
//return minute value
int Time::getMinute()
{
return minute;
}//end function getMinute
//return second value
int Time::getSecond()
{
return second;
}//end function getSecond
//print Time in universal format
void Time::printStandard()
{
cout <<( ( hour ==0 || hour ==24) ? 0: hour % 24)
<<":" << setfill( '0' ) << setw( 2 ) << minute
<<":" << setw( 2 ) << second
<< ( hour < 12 ? "AM" : "PM");
}//end funciton printStandard

void Time::tick()
{
( second>59) && ((second=0)|( minute>59)) && ((minute=0)|( hour>23)) && (hour=0);

}

int main()
{
int i,j;
Time clock;
clock.setTime(11,59,55);
for(int i=1;; i){
for(j=0;j< 150000000;j );
clock.printStandard();
cout<<'\n';
clock.tick();
}
return 0;
}
[/code]
控制時間顯示速度的語法(此段我同學他數值取的很好,執行的速度跟現實的秒速度差不多,不會像電腦自己執行的速度超快的,請問各位大大是否有另外一種編寫的方法呢?)

int main()
{
int i,j;
Time clock;
clock.setTime(11,59,55);
for(int i=1;; i){
for(j=0;j< 150000000;j );
clock.printStandard();
cout<<'\n';
clock.tick();
}
return 0;
}

CoffeeX
中階會員


發表:18
回覆:121
積分:72
註冊:2005-02-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-11-24 20:39:09 IP:140.125.xxx.xxx 未訂閱
可使用WINAPI : GetTickCount() 用來作延遲時間
其次可使用TTime
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TDateTime NowTime = Time();
Label1->Caption = NowTime.TimeString();
}
Timer 執行時間設成1
------
=.=???
系統時間:2024-05-07 9:30:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!