void __fastcall TfrmCompetitorCategoryResultEdit::bbtnEnterResultClick(
      TObject *Sender)
{

    //Сохранить результаты текущего участника
    if(resultModified){

        resetCallback();


        //Выбрать нового участника
        int currentCompetitorId = TResult::getCurrentCompetitorId();

        //Установить полученный результаты в выпадющем списке
        AnsiString fwok = cmboxFightWOKnifeRank->Text;
        AnsiString fwk = cmboxFightWKnifeRank->Text;
        AnsiString sht = cmboxShootRank->Text;
        AnsiString cmmn = cmboxCommonRank->Text;

        if(fwok.IsEmpty()){fwok = "0";}
        if(fwk.IsEmpty()){fwk = "0";}
        if(sht.IsEmpty()){sht = "0";}
        if(cmmn.IsEmpty()){cmmn = "0";}

        currentCompetitor.result.setFightWOKnifeRank(
                            StrToInt(fwok));
        currentCompetitor.result.setFightWKnifeRank(
                            StrToInt(fwk));
        currentCompetitor.result.setShootRank(
                            StrToInt(sht));
        currentCompetitor.result.setCommonRank(
                            StrToInt(cmmn));

        //Сохраним результат участника
        currentCompetitor.storeResult(currentCategory->getId());
        //Отобразить список участников снова
        ShowCompetitorList(currentCategory);

        //Установить выбранную запись как текущуую
        TResult::setCurrentCompetitorById(currentCompetitorId);

        cmboxFightWOKnifeRank->Text = !fwok.AnsiCompare("0") ? AnsiString("") : fwok;
        cmboxFightWKnifeRank->Text = !fwk.AnsiCompare("0") ? AnsiString("") : fwk;
        cmboxShootRank->Text = !sht.AnsiCompare("0") ? AnsiString("") : sht;
        cmboxCommonRank->Text = !cmmn.AnsiCompare("0") ? AnsiString("") : cmmn;

        showResultScores();

        HideResultChange();

        setCallback();
        }
}