2012-11-21 65 views
1

我是編程新手。我想製作一個圖像處理程序。我的問題是我希望我的程序向我發送短信(AT COMMAND),如果有東西在我的相機前傳遞。 下面的代碼:如果事情通過我的鏡頭前和運動捕捉有沒有什麼辦法可以在沒有「輸入密鑰」的情況下等待並暫停程序?

for(; contour != 0; contour = contour->h_next) 
{ 
    Sleep(10000); 
    char buf[20]; 
    DWORD read = 0; 
    DWORD CommModemStatus; 
    DWORD write=1; // Number of bytes to write to serial port 
    buf[0] = 72; // Decimal value to write to serial port 
    char valor4[26] = ("at+cmgf=1\r"); 
    BOOL bWriteRC4; 
      static DWORD iBytesWritten4; 
      bWriteRC4 = WriteFile(hPort, &valor4, 100, &iBytesWritten4,NULL); 
char valor[26] = ("at+cmgs=\"+62xxxxxxxxxx\"\r"); 
      BOOL bWriteRC; 
      static DWORD iBytesWritten; 
      bWriteRC = WriteFile(hPort, &valor, 100, &iBytesWritten,NULL); 
char valor2[17] = ("SOMEONE HAS ENTERED YOU ROOM!!!"); 
      BOOL bWriteRC2; 
      static DWORD iBytesWritten2; 
      bWriteRC2 = WriteFile(hPort, &valor2, 100, &iBytesWritten2,NULL); 
char valor3 = (char)0x1A; 
      BOOL bWriteRC3; 
      static DWORD iBytesWritten3; 
       bWriteRC3 = WriteFile(hPort, &valor3, 100, &iBytesWritten3,NULL); 
} 

,這意味着 輪廓= 0,所以我覺得它就像:

for (contour != 0) 
//sending text message.... 

但顯然當開啓時,相機將適應光線的強度,所以我給Sleep(10000);打算在文本發送前10秒鐘等待相機。事實上,它只是讓我的相機(和程序的其餘部分)等待10秒鐘纔開啓。

有沒有什麼不同的方法可以等待不暫停程序? 我已經谷歌它,嘗試像system("pause")等,它不起作用。

我在windows中使用Visual Studio 2010。

回答

0

你可以嘗試像

#include <time.h> 
... 
for (; contour != 0; contour = contour->h_next) { 
    //skip to the next iteration if the program started less than 10 seconds ago 
    if (((float)clock())/CLOCKS_PER_SEC) < 10.0) continue; 
    ... 
} 

時鐘()函數返回time.h中的時鐘週期數,因爲該方案已經開始。時鐘節拍不一定是毫秒,因此除以指定時鐘節拍與秒之間關係的宏常量表達式CLOCKS_PER_SEC將得到已經過去的總秒數。

您可以在這裏獲取更多關於clock()的信息:http://www.cplusplus.com/reference/clibrary/ctime/clock/

+0

謝謝。現在工作。 – user1843019

相關問題