Na sam początek może mi ktoś podpowie, jak przerobić ten kod:
void TForm1::Color(AnsiString wyraz)
{
TPoint caret = Form1->RichEdit1->CaretPos;
AnsiString wyr = wyraz;
for(int i = 0 ; i < Form1->RichEdit1->Text.Length() - wyr.Length() + 1; i++)
{
bool skip = false;
for(int i2 = 0 ; i2 < wyr.Length() ; i2++)
{
if(Form1->RichEdit1->Text.c_str()[i+i2] != wyr.c_str()[i2])
{
skip = true;
break;
}
}
if(!skip)
{
Form1->RichEdit1->SelStart = i;
Form1->RichEdit1->SelLength = wyr.Length();
Form1->RichEdit1->SelAttributes->Color = clRed;
}
}
Form1->RichEdit1->CaretPos = caret;
Form1->RichEdit1->SelAttributes->Color = clBlack;
}
na kod w Delphi. Oczywiście, próbowałem samemu, ale największe problemy są z instrukcjami FOR.
Drugie zagadnienie, to jak "zniwelowac" miganie zaznaczonycych wyrazów, po wykonaniu funkcji ?
Następnie, mając taki wpis:
doPlayerAddItem(cid, 2045, 1)
Jak wyciągac argument drugi ? Bez wzgledu na jego dlugosc, ma byc zawsze drugi.
To samo tyczy się tego wpisu:
doPlayerSendTextMessage(cid, 22, "Czesc!")
Jak wyciągnąć zawsze tekst między cudzysłowami ?