コード例 #1
0
ファイル: festring.cpp プロジェクト: jarpiain/ivan-tty
festring::sizetype festring::IgnoreCaseFind(const festring& Where,
        const festring& What,
        sizetype Begin)
{
    if(What.IsEmpty())
        return Begin;

    for(; Where.GetSize() >= What.GetSize() + Begin; ++Begin)
        if(::Capitalize(Where[Begin]) == ::Capitalize(What[0]))
        {
            truth Equal = true;

            for(sizetype c = 1; c < What.GetSize(); ++c)
                if(::Capitalize(Where[Begin + c]) != ::Capitalize(What[c]))
                {
                    Equal = false;
                    break;
                }

            if(Equal)
                return Begin;
        }

    return NPos;
}
コード例 #2
0
ファイル: febot.cpp プロジェクト: eldios/ivan
void febot::BeTalkedTo(festring String)
{
  String.PreProcessForFebot();

  if(!String.IsEmpty())
  {
    festring Word;
    wordchain* OldChain = GetControlWordChain();

    for(String.ExtractWord(Word); !Word.IsEmpty(); String.ExtractWord(Word))
    {
      wordchain* NewChain = CreateWordChain(OldChain, Word);
      OldChain->Link.push_back(NewChain);
      OldChain = NewChain;
    }

    OldChain->Link.push_back(GetControlWordChain());
  }
}