Пожалуйста) вот так, если в кратце собственно останется только некотороые защиты поставить и се
| Код | //--------------------------------------------------------------------------- void __fastcall TForm1::RichEdit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { String MasTag[]={"<table>","<tr>","<href>","<p></p>","<form>","<div>"};//массив тегов int iCountTag = 6;//число тегов в массиве int iCol = RichEdit1->CaretPos.x;//индекс позиции курсора в строке int iRow = RichEdit1->CaretPos.y;//индекс строки в которой находится курсор if (iCol!=0){ String CurStr = RichEdit1->Lines->Strings[iRow]; String CurTag = "";//набираемый тег for (int iStr=CurStr.Length();iStr>0;iStr--){ if (CurStr[iStr]==' '){//до пробела break; } else{ String StrTemp = CurStr[iStr]; StrTemp += CurTag; CurTag = StrTemp; } } ListBox1->Clear(); for (int iCt=1;iCt<=iCountTag;iCt++){ //сравниваем строки до длины CurTag.Length() без учета //регистра, если они одинаковы, то возвращается 0 int iCompare = AnsiStrLIComp(CurTag.c_str(),MasTag[iCt-1].c_str(),CurTag.Length()); if (iCompare==0){ ListBox1->Items->Add(MasTag[iCt-1]); } } } } //---------------------------------------------------------------------------
|
|