Показать сообщение отдельно
  #38  
Старый 24.06.2013, 17:53
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Цитата:
Сообщение от Alegun
Смотрите это, даже для ХЕ4 уже есть...
Огромно спасибо тебе. Еще раз огромное спасибо. Не представляешь как выручил.

А как стиль SynEdit применить на рич просто у SynEditа неудобный memo. он как у делфи а мне нужен как у текстового редактора

Установиться установилась но если положить компонент на форму то вот ошибки
Код:
[dcc32 Error] SynUnicode.pas(1679): E2010 Incompatible types: 'AnsiChar' and 'Char'
[dcc32 Error] SynUnicode.pas(1686): E2010 Incompatible types: 'AnsiChar' and 'Char'
[dcc32 Error] SynUnicode.pas(1687): E2010 Incompatible types: 'AnsiChar' and 'Char'
[dcc32 Error] SynUnicode.pas(1688): E2010 Incompatible types: 'AnsiChar' and 'Char'
[dcc32 Error] SynUnicode.pas(1695): E2010 Incompatible types: 'AnsiChar' and 'Char'
[dcc32 Error] SynUnicode.pas(1696): E2010 Incompatible types: 'AnsiChar' and 'Char'

вот код реализованной покраски для слова Begin
Код:
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
var stroca:integer;
begin
  case key of
    #32:begin
      if Form1.RichEdit1.Text[Length(Form1.RichEdit1.Text)]=#32 then exit else begin
        stroca:=Length(Form1.RichEdit1.Text);
        repeat
          stroca:=stroca-1;
        until (Form1.RichEdit1.Text[stroca]=#32) or (stroca=0);
        Form1.RichEdit1.SelStart:=stroca;
        Form1.RichEdit1.SelLength:=Length(Form1.RichEdit1.Text);
        if AnsiUpperCase(Form1.RichEdit1.SelText) = 'BEGIN' then
          Form1.RichEdit1.SelAttributes.Color:=ClBlue
        else Form1.RichEdit1.SelAttributes.Color:=ClBlack;
        Form1.RichEdit1.SelStart:=Length(Form1.RichEdit1.Text);
      end;
    end;
  end;
end;

багов пока не нашел. Собственно осталось встроить поддержку коминтариев и все

Извините. Сообщения просьба удалить.
Ответить с цитированием