我正在編寫一個程序來控制flashbulb。閃光燈響應用戶的按鍵而閃光。我試圖限制閃光燈的出現規律,以防止燈泡燒燬。我已經從這個論壇得到了一些幫助,但是我無法用我自己的方式實現這些代碼。使用A類用戶建議,具體如下:實現具有時間限制代碼的類很難(C++)
class bulb
{
__int64 clocks;
__int64 frequency;
public:
bulb()
{
LARGE_INTEGER li;
QueryPerformanceFrequency(&li);
frequency = li.QuadPart;
clocks = 0;
}
void WINAPI flash (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
LARGE_INTEGER li;
QueryPerformanceCounter(&li);
// If this is the first occurence, set the 'clocks' to system time (+10000 to allow flash to occur)
if (clocks == 0) clocks = li.QuadPart + 10000;
__int64 timepassed = clocks - li.QuadPart;
if (timepassed >= (((double)frequency)/10000))
{
//Set the clock
clocks = li.QuadPart;
//Define the serial port procedure
HANDLE hSerial;
//Open the serial port (fire the flash)
hSerial = CreateFile("COM1", GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
//Close the serial port
CloseHandle(hSerial);
}
}
};
我收到了幾個語法錯誤,我似乎無法轉移,所有這些都是在任一類的第一個或最後一個括號 - 「語法錯誤:標識符'bulb'「,」語法錯誤:';'「,」語法錯誤:'}'「和」語法錯誤:'}'「。儘管如此,我從來沒有和班級一起工作過,所以期待這與此有關。我哪裏錯了?
請注意'10000'是閃光之間的最小延遲。
''我收到一些語法錯誤'' - 請將您收到的所有錯誤都複製到您的問題中。您提供的數據越多,您獲得的相關答案就越多。 – pts 2011-05-14 13:18:26
您需要在類聲明的'}'後面的代碼末尾使用分號。 – pts 2011-05-14 13:20:23
謝謝,我已經添加到上述,以及我收到的錯誤 – CaptainProg 2011-05-14 13:26:35