Ejemplo n.º 1
0
// Main---------------------------------------------
int main() {
	ppm_t newPPM = loadPpm("images\\border.ppm");

	char smallPath[60];
	char largePath[60];

	char suit[2];
	char number[2];

	printf("Enter in a suit :");
	scanf("%s" , &suit);

	printf("Enter in a number :");
	scanf("%s" , &number);

	strcpy(smallPath , "images\\small-");
	strcpy(largePath , "images\\large-");

	chooseNumber(number , suit);

	strcat(smallPath , suit);
	strcat(smallPath , ext);

	strcat(largePath , suit);
	strcat(largePath , ext);

	placeNumber(loadPpm(numberPath) , newPPM);
	placeSmallIcon(loadPpm(numberPath) , loadPpm(smallPath) , newPPM);

	cardChooser(loadPpm(smallPath) , newPPM , number);

	savePpm("card.ppm" , newPPM);

	system("pause");
}
void speech_recognize::cmdConfig(SPPHRASE *pElements)
{
	m_SREngine.m_pCmdGram->SetRuleIdState(CMD_Single, SPRS_ACTIVE);
	m_SREngine.m_pCmdGram->SetRuleIdState(CMD_Group, SPRS_ACTIVE);

	m_SREngine.m_pCmdGram->SetRuleIdState(CMD_Config, SPRS_INACTIVE);

	switch( pElements->pProperties->vValue.ulVal )
	{
	case CMDYes:
		m_SREngine.m_pVoice->Speak(L"命令已执行", SPF_ASYNC, NULL);
		this->ui.lab_cmd->setText(tr("请说出你的命令"));
		this->ui.lab_config->setText(tr(""));
		//TODO: 命令的入口
		switch(m_cmdType)
		{
		case CMDClose:
			//关闭程序
			this->close();
			break;
		case CMDShutdown:
			//system("shutdown -s -f"); //强制关机
			system("shutdown -s");	//关机
			break;
		case CMDShowdesktop:
			//显示桌面
			{
				m_cmdDir = QDir::home();
				m_cmdDir.cd("AppData");
				m_cmdDir.cd("Roaming");
				m_cmdDir.cd("Microsoft");
				m_cmdDir.cd("Internet Explorer");
				m_cmdDir.cd("Quick Launch");
				QFile file(m_cmdDir.filePath("shows desktop.lnk"));
				QDesktopServices::openUrl ( QUrl::fromLocalFile(file.fileName()) );
			}
			m_SREngine.m_pCmdGram->SetRuleIdState(CMD_Options, SPRS_INACTIVE);
			break;
		case CMDOpenDesktop:
			m_cmdDir = QDir::home();
			m_cmdDir.cd("desktop");
			m_cmdLine = m_cmdDir.path();
			m_index = 2;
			addListText(m_cmdDir.entryList(), m_index);
			break;
		case CMDOne:
			chooseNumber(this->ui.lab_1, 1);
			break;
		case CMDTwo:
			chooseNumber(this->ui.lab_2, 2);
			break;
		case CMDThree:
			chooseNumber(this->ui.lab_3, 3);
			break;
		case CMDPgup:
			m_index -= 6;
			m_index = m_index > 2? m_index: 2;
			addListText(m_cmdDir.entryList(), m_index);
			break;
		case CMDPgdn:
			//m_index += 3;
			addListText(m_cmdDir.entryList(), m_index);
			break;
		case CMDBack:
			if(m_cmdDir.cdUp())
			{
				m_index = 2;
				addListText(m_cmdDir.entryList(), m_index);
			}
			else
			{
				this->ui.lab_config->setText(tr(""));
				this->ui.lab_caption->setText(tr(""));
				this->ui.lab_1->setText(tr(""));
				this->ui.lab_2->setText(tr(""));
				this->ui.lab_3->setText(tr(""));
				this->ui.lab_next->setText(tr(""));
			}

			break;
		}
		break;
	case CMDNo:
		{
			m_SREngine.m_pVoice->Speak(L"命令已取消", SPF_ASYNC, NULL);
			this->ui.lab_cmd->setText(tr("当前的命令是:"));
			this->ui.lab_config->setText(tr(""));
		}
		break;
	}
}