Цитата:
Сообщение от Uniq!
Ну дык AnsiPos + Delete или
Код:
RichEdit1.SelStart := RichEdit1.FindText('[c]',i2,MaxInt,[stMatchCase]); +
RichEdit1.SelLength = 3;
RichEdit1.SetText(#0);
|
ругается на строчку RichEdit1.SelText(#0);
[Error] Unit1.pas(109): Missing operator or semicolon
Код:
RichEdit1.SelStart := RichEdit1.FindText('[c]',i2,MaxInt,[stMatchCase]);
RichEdit1.SelLength:=3;
RichEdit1.SelText(#0);
M.A.D.M.A.N. извени но я тебя не понял
Uniq!, спасибо! зделал AnsiPos в цикле, всё работает
Код:
procedure TForm1.Open1Click(Sender: TObject);
var position,position2,i1,i2: integer;
begin
RichEdit1.Lines.LoadFromFile(ListBox1.Items.Strings[ListBox1.ItemIndex]);
i2:=0;
repeat
i1:=RichEdit1.FindText('[c]',i2,MaxInt,[stMatchCase]);
if i1 < 0 then Break;
inc(i1,3);
i2:=RichEdit1.FindText('[/c]',i1,MaxInt,[stMatchCase]);
if i2 > 0 then
begin
RichEdit1.SelStart:=i1;
RichEdit1.SelLength:=i2-i1;
RichEdit1.SelAttributes.Style:=[fsBold];
inc(i2,3);
end;
until i2 < 0;
position:=AnsiPos('[c]', RichEdit1.Text);
while position > 0 do
begin
RichEdit1.SelStart:=position-1;
RichEdit1.SelLength:=3;
RichEdit1.SelText:='';
position:=AnsiPos('[c]', RichEdit1.Text);
end;
end;
position2:=AnsiPos('[/c]', RichEdit1.Text);
while position2 > 0 do
begin
RichEdit1.SelStart:=position2-1;
RichEdit1.SelLength:=4;
RichEdit1.SelText:='';
position2:=AnsiPos('[/c]', RichEdit1.Text);
end;