關於程式delay or sleep問題 |
答題得分者是:cmf
|
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
不好意思..請問各位先進..因我參考相關文章..不過還是不行..
CapturedImage->SaveToFile("1.bmp"); Image1->Picture->Assign(CapturedImage); Sleep(200); Application->ProcessMessages(); CapturedImage->SaveToFile("2.bmp"); Image2->Picture->Assign(CapturedImage);程式還是會先delay再執行..之後享用無線迴圈執行用while do.. 不過剛剛學程式...所以不太會用.. 不支先進可否有解決方法.... |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 不好意思..請問各位先進..因我參考相關文章..不過還是不行..braveheart 你好: 如果要 delay 比較久的時間,最好改成這樣子 (比較不像沒有回應) 請參考以下的範例程式碼 (總共會 class="code"> CapturedImage->SaveToFile("1.bmp"); Image1->Picture->Assign(CapturedImage); int i=0; while(i<20) { Sleep(100); Application->ProcessMessages(); i ; } CapturedImage->SaveToFile("2.bmp"); Image2->Picture->Assign(CapturedImage); -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/09/01 23:13:34CapturedImage->SaveToFile("1.bmp"); Image1->Picture->Assign(CapturedImage); Sleep(200); Application->ProcessMessages(); CapturedImage->SaveToFile("2.bmp"); Image2->Picture->Assign(CapturedImage);程式還是會先delay再執行..之後享用無線迴圈執行用while do.. 不過剛剛學程式...所以不太會用.. 不支先進可否有解決方法....
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
先進您好...程式執行感覺是先顯示image1再顯示image2....內容好像是一樣
CapturedImage->SaveToFile("1.bmp"); Image1->Picture->Assign(CapturedImage); int i=0; while(i<90) { Sleep(100); Application->ProcessMessages(); i ; } CapturedImage->SaveToFile("2.bmp"); Image2->Picture->Assign(CapturedImage); |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 先進您好...程式執行感覺是先顯示image1再顯示image2....內容好像是一樣CapturedImage->SaveToFile("1.bmp"); Image1->Picture->Assign(CapturedImage); int i=0; while(i<90) { Sleep(100); Application->ProcessMessages(); i ; } CapturedImage->SaveToFile("2.bmp"); Image2->Picture->Assign(CapturedImage); braveheart 你好: (1)請問?? 你想要達到的目的為何呢?? 好像一直都沒有說出來喔?? 是想要先顯示 > (>> --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
不好意思..先進..真是相當抱歉
CapturedImage->SaveToFile("1.bmp"); Image2->Picture->Assign(CapturedImage);這功能是先將camera的image存成1.bmp再將其顯示出來..因為這不能在其它事件中呼叫其指令..所以要在這void __fastcall TCamera_Main::capBitmapGrabbed(TCapturedBitmap *CapturedImage)事件才能呼叫.. 我的目的是想要在間隔短時間後再執行相同指令 CapturedImage->SaveToFile("2.bmp"); Image1->Picture->Assign(CapturedImage);存成2.bmp....然後再作差直影像等等處理...其1.bmp和2.bmp內容是不一樣... 感謝先進指導..謝謝先進 |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 不好意思..先進..真是相當抱歉你好: 不知道有沒有人這樣做,下面是用c語言寫的,參考看看CapturedImage->SaveToFile("1.bmp"); Image2->Picture->Assign(CapturedImage);這功能是先將camera的image存成1.bmp再將其顯示出來..因為這不能在其它事件中呼叫其指令..所以要在這void __fastcall TCamera_Main::capBitmapGrabbed(TCapturedBitmap *CapturedImage)事件才能呼叫.. 我的目的是想要在間隔短時間後再執行相同指令CapturedImage->SaveToFile("2.bmp"); Image1->Picture->Assign(CapturedImage);存成2.bmp....然後再作差直影像等等處理...其1.bmp和2.bmp內容是不一樣... 感謝先進指導..謝謝先進 #include參考就好,bcb裡應該有更好用的物件,也請大家指教 |
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
|
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
恩..是的先進..因為這CpaturedImage這指令不能在別的事件中呼叫..所以只能在所規定中的事件呼叫...所以想說用程式先抓一張圖當程式執行到delay or sleep時..程式再重新抓另一張圖...不知這想法可不可行....謝謝先進
CapturedImage->SaveToFile("1.bmp"); Image1->Picture->Assign(CapturedImage); DWORD tmrTemp = GetTickCount(); while(true) { if((GetTickCount()-tmrTemp) > 5000)break; Application->ProcessMessages(); } CapturedImage->SaveToFile("2.bmp"); Image2->Picture->Assign(CapturedImage); |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
__fastcall TFMain::TFMain(TComponent* Owner) : TForm(Owner) { WaitGrab=False; imageIndex=0; } void __fastcall TFMain::TimerTimer(TObject *Sender) { if (WaitGrab==False) { WaitGrab=True; cap->CaptureFrame(); } } void __fastcall TFMain::capBitmapGrabbed(TCapturedBitmap *CapturedImage) { if (WaitGrab==True) { CapturedImage->SaveToFile(IntTostr(imageIndex) ".BMP"); Image->Picture->Assign(CapturedImage); imageIndex ; WaitGrab=False; } }
------
︿︿ |
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
braveheart
一般會員 發表:35 回覆:62 積分:24 註冊:2003-05-21 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |