[問題] c++寫UI的問題

作者: jane004 (Hank)   2014-06-08 20:25:16
我是在做當按下某按鍵之後,會把記憶卡中的檔案複製到控制器上面
而檔案有30多個。
以下是我程式架構
//按下某個按鍵後觸發以下兩行
{
int file = 1;
file1();
}
void file1 ()
{
//宣告了一串東西
if (檔案存在)
{
//顯示是否覆蓋
//然後跳到另一個onkeypress事件中去判斷Y或N
}
else
{
//計算檔案大小
//取得控制器剩餘容量
if (剩餘容量>檔案大小)
{
//開始複製檔案(這裡宣告了一個char [10000]的字串和內部API)
file++; //用於計數現在執行到哪個程式
file2(); //呼叫另外一個函式 以確保已經有把第一支檔案複製過去了
}
else
{
//跳出錯誤視窗
}
}
}
void file2()
{
//程式碼和file1相同 只差在檔名的部分,還後有三十幾個如同這樣的CODE
}
long onkeypress () // 這裡是一個按鍵觸發事件,用來判斷是否覆蓋的部分
{
//宣告了一串東西
if (訊號 == yes)
{
switch (file)
{
case 1:
//計算檔案大小
//取得控制器剩餘容量
if (剩餘容量>檔案大小)
{
//開始複製檔案(這裡宣告了一個char [10000]的字串和內部API)
file++;
file2(); //呼叫另外一個函式 以確保已經有把第一支檔案複製過 去了
}
else
{
//跳出錯誤視窗
}
break;
case 2:
//同上依此一直下去都是一樣的code
break;
case n:
break;
}
}
else
{
switch (file)
{
case 1:
file++;
file2();
break;
case 2:
file++;
file3();
break;
case n: //依此類推
}
}
}
而因為他在判斷是否要覆蓋的期間,程式碼並沒辦法停止下來等待輸入是否覆蓋,所以我
才用這種方式,先確定第一支檔案已複製到控制器中才去呼叫下一支函式,可是這種方式
卻發生了一個大問題,就是stack overflow,請問各位大大們是否有解決的方法,抑或是
更好的構思呢?
作者: diabloevagto (wi)   2014-06-08 20:33:00
你要的控制器是特規的?沒有走rs232或usb介面?
作者: jane004 (Hank)   2014-06-08 21:25:00
特規? 我不是很了解耶 好像是有走RS232

Links booklink

Contact Us: admin [ a t ] ucptt.com