Главная » Статьи » Задачи по программированию |
Выделить ключивое слово
Здравствуйте, решил выложить алгортм который я писал для своей программы. procedure TFormMain.Lighting;
var
i,ii,CurrPos,CurrPosS{,X,Y,P}:Integer;
S:string;
begin
X:=RichEdit1.CaretPos.X;
Y:=RichEdit1.CaretPos.Y;
P:=0;
for i:=0 to Y-1 do P:=P+Length(RichEdit1.Lines[i])+2;
P:=P+X;
for i:=0 to CountPrivateWord-1 do begin
CurrPos:=1;
S:=RichEdit1.Text; //head
S:=AnsiUpperCase(S);
repeat
CurrPosS:=Pos(PrivateWord[i],S);
if CurrPosS>0 then begin
RichEdit1.SelStart:=CurrPos+CurrPosS-2;
RichEdit1.SelLength:=Length(PrivateWord[i]);
RichEdit1.SelAttributes.Color:=clred;
CurrPos:=CurrPos+CurrPosS+Length(PrivateWord[i])-1;
S:=Copy(S,CurrPosS+Length(PrivateWord[i]),Length(S));
end;
until (CurrPosS=0)or(S='');
end;
RichEdit1.SelStart:=P;
RichEdit1.SelLength:=0;
end;
procedure TFormMain.LoadWordFromFile(FileName:string);
var
F:TExtFile;
begin
CountPrivateWord:=0;
AssignFile(F,FileName);
Reset(F);
while not EOF(F) do begin
ReadLn(F,PrivateWord[CountPrivateWord]);
CountPrivateWord:=CountPrivateWord+1;
end;
CloseFile(F);
end;
| |
Просмотров: 498 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |