Exemplo n.º 1
0
void QuizCheck::Next()
{
    QuizTimer->stop();
    sendMessage("Ответ: "+CurrAsk,bQuiz);
    QEventLoop loop; QTimer::singleShot(1000, &loop, SLOT(quit())); loop.exec();
    GetQuestion();
}
Exemplo n.º 2
0
void QuizCheck::AutoHint()
{
    if (HintCount+2 == CurrAsk.length())
    {
        sendMessage("Никто не ответил на вопрос",bQuiz);
        sendMessage("Ответ: "+CurrAsk,bQuiz);
        QuizTimer->stop();
        GetQuestion();
        return;
    }

    int k=0;

    do
    {
        k=qrand()%(CurrAsk.length()-1);
    }
    while (MaskAsk[k] == CurrAsk[k]);

    MaskAsk[k]=CurrAsk[k];

    HintCount++;

    sendMessage("Подсказка: "+MaskAsk,bQuiz);

}
Exemplo n.º 3
0
void QuizCheck::Start ()
{
    sendMessage("В базе "+QString::number(count)+" вопросов.",bQuiz);
    sendMessage("Начинаем",bQuiz);

    //QuizTimer->start(5000);
    GetQuestion();
    st=1;

}
Exemplo n.º 4
0
void QuizCheck::Answer(QString msg, QString ip)
{
    if (msg==CurrAsk)
    {
        QuizTimer->stop();
        QString nick = 0;
        quint16 idt = ChatIp.indexOf(ip);

        if (idt != -1)
            nick = ChatNick.at(idt);

        if (AskCount.at(idt) == 0)
            AskCount[idt] = UserStats->value("all_stat/"+nick).toInt(); // загрузка значения из файла

        AskCount[idt] += 1;


        sendMessage("верно,  "+nick,bQuiz);
        sendMessage("Всего правильных ответов "+QString::number(AskCount.at(idt)),bQuiz);
        UserStats->setValue("all_stat/"+nick,AskCount.at(idt));

        for (quint8 i=0; i<10;++i)
        {
            if (AskCount[idt] > TopCount[i])
            {
                if (TopNick[i] != nick)
                {
                    if (i < 9)              //если уже в топе, то поместить на уровень выше, если нет, добавить на последнее место
                    {
                        TopNick[i+1] = TopNick[i];
                        TopCount[i+1] = TopCount[i];
                        UserStats->setValue("top/pos"+QString::number(i+1)+"n",TopNick[i+1]);
                        UserStats->setValue("top/pos"+QString::number(i+1)+"c",TopCount[i+1]);
                    }

                    TopNick[i] = nick;
                    UserStats->setValue("top/pos"+QString::number(i)+"n",TopNick[i]);
                    sendMessage("Вы заняли "+QString::number(i+1)+"-е место",bQuiz);
                }
                TopCount[i] = AskCount[idt];
                UserStats->setValue("top/pos"+QString::number(i)+"c",TopCount[i]);
                break;
            }
        }


        QEventLoop loop; QTimer::singleShot(1000, &loop, SLOT(quit())); loop.exec(); //подождать немножко, до выдачи следующего вопроса

        GetQuestion();
    }

}
Exemplo n.º 5
0
/********************************************************************************************

>	VisibleAttribute* TemplateAttribute::CreateVisibleAttribute() const

	Author:		Colin_Barfoot (Xara Group Ltd) <*****@*****.**>
	Created:	09/06/97
	
	Purpose:	Creates a template attribute the user can play with. This is all wrong
				(arrggghh)

	Returns:	A pointer to the UI equivalent of this attribute

********************************************************************************************/
VisibleAttribute* TemplateAttribute::CreateVisibleAttribute() const
{
	VisibleAttribute* pVisibleAttribute = NULL;	// return this

	WizOp* pHandler = GetWizOps().FindWizOpFromInternalName(GetInternalName());

	if (pHandler != NULL)
	{
		pVisibleAttribute = new VisibleTemplateAttribute(*pHandler, GetQuestion(), GetParam());
	}

	return pVisibleAttribute;
}
Exemplo n.º 6
0
/********************************************************************************************

>	virtual BOOL TemplateAttribute::WritePreChildrenWeb(BaseCamelotFilter* pFilter)

 	Author:		Colin_Barfoot (Xara Group Ltd) <*****@*****.**>
	Created:	27/06/97

	Purpose:	Writes the TemplateAttribute to the filter

	Inputs:		pFilter = ptr to the filter
	Returns:	TRUE if record is written, FALSE if not

********************************************************************************************/
BOOL TemplateAttribute::WritePreChildrenWeb(BaseCamelotFilter* pFilter)
{
#ifdef DO_EXPORT
	ERROR2IF(pFilter == NULL,FALSE,"NULL filter param");

	// Add a description of the TAG_WIZOP record for older importers
	pFilter->AddTagDescription(TAG_WIZOP, _R(IDS_TAG_WIZOP));

	CamelotFileRecord Rec(pFilter, TAG_WIZOP, CXF_UNKNOWN_SIZE);

	BOOL ok = Rec.Init();

	if (ok)
	{
		String_64 InternalName = GetInternalName();
		ok = Rec.WriteUnicode((TCHAR*)InternalName);
	}
	if (ok)
	{
		String_256 Question = GetQuestion();
		ok = Rec.WriteUnicode((TCHAR*)Question);
	}
	if (ok)
	{
		String_64 Param = GetParam();
		ok = Rec.WriteUnicode((TCHAR*)Param);
	}
	if (ok)
	{
		// Write out some patch space
		String_8 NonConstNullString = NullString;
		ok = Rec.WriteUnicode((TCHAR*)NonConstNullString);
	}

	if (ok)
	{
		ok = pFilter->Write(&Rec);
	}

	if (!ok)
	{
		pFilter->GotError(_R(IDE_FILE_WRITE_ERROR));
	}

	return ok;
#else
	return FALSE;
#endif
}
Exemplo n.º 7
0
	void ConfWidget::SaveSettings () const
	{
		XmlSettingsManager::Instance ().setProperty ("Question", GetQuestion ());
		XmlSettingsManager::Instance ().setProperty ("Answers", GetAnswers ());
	}
HometrainerResources::HometrainerResources()
{
  const std::vector<std::string> files
    =
    {
      GetQuestion(),
      GetQuestionMark(),
      GetWelcome(),
      "ToolHometrainerExerciseAdapter.jpg",
      "ToolHometrainerExerciseAuks.jpg",
      "ToolHometrainerExerciseBakMetFilters.jpg",
      "ToolHometrainerExerciseCdSpelerNumarck.jpg",
      "ToolHometrainerExerciseDcc.jpg",
      "ToolHometrainerExerciseDi.jpg",
      "ToolHometrainerExerciseDimmerpack.jpg",
      "ToolHometrainerExerciseDmxMannetjeConnector.jpg",
      "ToolHometrainerExerciseDmxMannetje.jpg",
      "ToolHometrainerExerciseDmxVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseDmxVrouwtje.jpg",
      "ToolHometrainerExerciseEffect.jpg",
      "ToolHometrainerExerciseEuroMannetjeConnector.jpg",
      "ToolHometrainerExerciseEuroVrouwtje.jpg",
      "ToolHometrainerExerciseFilterboekje.jpg",
      "ToolHometrainerExerciseFilterhouder.jpg",
      "ToolHometrainerExerciseFilter.jpg",
      "ToolHometrainerExerciseFiltervellen.jpg",
      "ToolHometrainerExerciseFlightcase.jpg",
      "ToolHometrainerExerciseFresnel.jpg",
      "ToolHometrainerExerciseGeluidstafelAchterkantLinks.jpg",
      "ToolHometrainerExerciseGeluidstafelAchterkantRechts.jpg",
      "ToolHometrainerExerciseGeluidstafelAlesis.jpg",
      "ToolHometrainerExerciseGeluidstafelBovenkantMiddenboven.jpg",
      "ToolHometrainerExerciseGeluidstafelBovenkantMidden.jpg",
      "ToolHometrainerExerciseGeluidstafelBovenkantRechtsboven.jpg",
      "ToolHometrainerExerciseGeluidstafelBovenkantRechtsonder.jpg",
      "ToolHometrainerExerciseGeluidstafelYamaha.jpg",
      "ToolHometrainerExerciseGordijnhaak.jpg",
      "ToolHometrainerExerciseHaspel.jpg",
      "ToolHometrainerExerciseJackMannetjeMono.jpg",
      "ToolHometrainerExerciseJackVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseJackVrouwtjeEnXlrVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseKabeltester.jpg",
      "ToolHometrainerExerciseKrachtstroomMannetjeConnector.jpg",
      "ToolHometrainerExerciseKrachtstroomMannetje.jpg",
      "ToolHometrainerExerciseKrachtstroomVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseLamp500W.jpg",
      "ToolHometrainerExerciseLichtplanDeBruiloften.jpg",
      "ToolHometrainerExerciseLichtplan.jpg",
      "ToolHometrainerExerciseLichttafel.jpg",
      "ToolHometrainerExerciseMdGrijs.jpg",
      "ToolHometrainerExerciseMdSpeler.jpg",
      "ToolHometrainerExerciseMdTransparent.jpg",
      "ToolHometrainerExerciseMicrofoonShureSm58.jpg",
      "ToolHometrainerExerciseMiniJackStereoVrouwJackStereoMan.jpg",
      "ToolHometrainerExerciseMonitorTorqueConnectors.jpg",
      "ToolHometrainerExerciseMultikabelMannetjeConnector.jpg",
      "ToolHometrainerExerciseMultikabelVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseMultimeterMetex.jpg",
      "ToolHometrainerExerciseMultistekkerdoos.jpg",
      "ToolHometrainerExerciseOn.jpg",
      "ToolHometrainerExerciseOpwindstatief.jpg",
      "ToolHometrainerExercisePar.jpg",
      "ToolHometrainerExercisePc.jpg",
      "ToolHometrainerExercisePriklijst.jpg",
      "ToolHometrainerExerciseProfielspot.jpg",
      "ToolHometrainerExerciseRcf322aAchterkant.jpg",
      "ToolHometrainerExerciseRgbLamp.jpg",
      "ToolHometrainerExerciseSafety.jpg",
      "ToolHometrainerExerciseScartMannetje.jpg",
      "ToolHometrainerExerciseSchukoVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseShureSm58.jpg",
      "ToolHometrainerExerciseSpanningsmeterFluke.jpg",
      "ToolHometrainerExerciseSpeakerEvent3000.jpg",
      "ToolHometrainerExerciseSpeakonVrouwSpeakonVrouw.jpg",
      "ToolHometrainerExerciseSpeakonVrouwtjeConnector.jpg",
      "ToolHometrainerExerciseSpringV2.jpg",
      "ToolHometrainerExerciseStandenplot.jpg",
      "ToolHometrainerExerciseStekkerdoos.jpg",
      "ToolHometrainerExerciseTbar.jpg",
      "ToolHometrainerExerciseTrussHaarspeld.jpg",
      "ToolHometrainerExerciseTruss.jpg",
      "ToolHometrainerExerciseTrussklem.jpg",
      "ToolHometrainerExerciseTrussPin.jpg",
      "ToolHometrainerExerciseTrussVerbindingsstuk.jpg",
      "ToolHometrainerExerciseTulpMannetje.jpg",
      "ToolHometrainerExerciseVerloopstukje.jpg",
      "ToolHometrainerExerciseVersterkerSamsonAchterkant.jpg",
      "ToolHometrainerExerciseVersterkerSamson.jpg",
      "ToolHometrainerExerciseVgaVrouwVgaVrouw.jpg",
      "ToolHometrainerExerciseVoetstatief.jpg",
      "ToolHometrainerExerciseWijkenArnhemGenummerd.bmp",
      "ToolHometrainerExerciseXlrMannetjeConnector.jpg",
      "ToolHometrainerExerciseXlrVrouwtje.jpg",
      "ToolHometrainerExerciseZekering.jpg"
  };
  std::for_each(files.begin(),files.end(),
    [](const std::string& s)
    {
      if (!boost::filesystem::exists(s))
      {
        const std::string filename = ":/images/" + s;
        QFile f(filename.c_str());
        f.copy(s.c_str());
        if (!boost::filesystem::exists(s)) { TRACE(s); }
        assert(boost::filesystem::exists(s));
      }
      if (!boost::filesystem::exists(s)) { TRACE(s); }
      assert(boost::filesystem::exists(s));
    }
  );

  {
    const std::vector<std::string> files
    =
    {
      GetExerciseClouds(),
      GetExerciseTest(),
      "ToolHometrainerExerciseClouds.txt",
      "ToolHometrainerExerciseTest.txt",
      "ToolHometrainerExerciseTtBasis.txt",
      "ToolHometrainerExerciseTtGeluid.txt",
      "ToolHometrainerExerciseTtLicht.txt",
      "ToolHometrainerExerciseWijkenArnhem.txt"
    };
    std::for_each(files.begin(),files.end(),
      [](const std::string& filename)
      {
        if (!(QFile::exists(filename.c_str())))
        {
          QFile f( (std::string(":/textfiles/") + filename).c_str() );
          f.copy(filename.c_str());
        }
        if (!boost::filesystem::exists(filename.c_str()))
        {
          std::cerr << "File not found: " << filename << '\n';
        }
        assert(boost::filesystem::exists(filename.c_str()));
      }
    );
  }
{
  const std::vector<std::string> files
  =
  {
    "ToolHometrainerManual.odt"
  };
  std::for_each(files.begin(),files.end(),
    [](const std::string& filename)
    {
      if (!(QFile::exists(filename.c_str())))
      {
        QFile f( (std::string(":/docs/") + filename).c_str() );
        f.copy(filename.c_str());
      }
      if (!boost::filesystem::exists(filename.c_str()))
      {
        std::cerr << "File not found: " << filename << '\n';
      }
      assert(boost::filesystem::exists(filename.c_str()));
    }
  );
}
}