我函数功能是三个按钮, 各自代表功能,如唱歌,跳舞,运动。。我的本意是随便点几个,如先点跳舞,再点唱歌,再点运动,再点唱歌,就会按点的顺序执行。。用的数组遍历操作实现,本来用消息框的时候可以,但换成我的函数便会同时执行了!!!!是Array遍历后会执行所有功能吗?不是一个一个执行吗??还是因为什么??源码:else if( 0 == strcmp(args,"front") )//在按钮1里添加,把动作1写进数组
{
int actionNum = 1; //假设这个功能为1,把第一个功能加进数组
actionArray.Add(actionNum);
}、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
else if( 0 == strcmp(args,"behind") )///////////////////////// 在按钮2里添加,写进动态数组
{
int actionNum = 2; //假设这个功能为2,加第二个
actionArray.Add(actionNum); }else if( 0 == strcmp(args,"left") )////加第三个,省去不写
{ }for(int iActionNum = 0; iActionNum < actionArray.GetCount(); iActionNum++)/////////这是执行按钮功能函数
{
switch(actionArray.GetAt(iActionNum))//遍历数组,执行功能
{
case 1:
speakFlag = true;
Speak("你的"); //第一个功能函数
speakFlag = false;
//////////////////////////////////////////////
break;
case 2:speakFlag = true;
Speak("我的"); //////////////第二个功能函数
speakFlag = false;
break;case 3:
speakFlag = true;
Speak("我的"); ////第三个功能函数
speakFlag = false;
break;
}
{
int actionNum = 1; //假设这个功能为1,把第一个功能加进数组
actionArray.Add(actionNum);
}、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
else if( 0 == strcmp(args,"behind") )///////////////////////// 在按钮2里添加,写进动态数组
{
int actionNum = 2; //假设这个功能为2,加第二个
actionArray.Add(actionNum); }else if( 0 == strcmp(args,"left") )////加第三个,省去不写
{ }for(int iActionNum = 0; iActionNum < actionArray.GetCount(); iActionNum++)/////////这是执行按钮功能函数
{
switch(actionArray.GetAt(iActionNum))//遍历数组,执行功能
{
case 1:
speakFlag = true;
Speak("你的"); //第一个功能函数
speakFlag = false;
//////////////////////////////////////////////
break;
case 2:speakFlag = true;
Speak("我的"); //////////////第二个功能函数
speakFlag = false;
break;case 3:
speakFlag = true;
Speak("我的"); ////第三个功能函数
speakFlag = false;
break;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货