Difference between revisions of "SynEdit/ru"

From Free Pascal wiki
(New page: {{SynEdit}} = General = The SynEdit contained in Lazarus is based on on SynEdit 1.0.3 http://synedit.sourceforge.net/, and was adapted and extended quite a lot. For example UTF-8 sup...)
 
Line 1: Line 1:
 
{{SynEdit}}
 
{{SynEdit}}
  
= General =
+
= Общее =
  
The SynEdit contained in Lazarus is based on on SynEdit 1.0.3 [[http://synedit.sourceforge.net/]], and was adapted and extended quite a lot. For example UTF-8 support and code folding were added.
+
SynEdit находящийся в Lazarus основан на SynEdit 1.0.3 [[http://synedit.sourceforge.net/]], и была адаптированна и расширенна довольно сильно. Например поддержка UTF-8 и свертывание кода были добавленны.
  
The package contains a source editor component named TSynEdit, several syntax highlighters and other components used for surce editing.
+
Пакет содержащий исходник компонента называется TSynEdit, некоторые syntax highlighters и другие компоненты используют исходник редактора.
  
It is licensed under the same terms as the original SynEdit (MPL or GPL)
+
Он лиицензирован под темиже условиями что и оригинал SynEdit (MPL или GPL)
  
 
= Synedit 2.0.5 port  =
 
= Synedit 2.0.5 port  =
  
An alternate port of the current version of the original SynEdit :
+
Альтернативный порт текущей версии оригинального SynEdit :
  
 
http://wiki.lazarus.freepascal.org/SynEdit/port
 
http://wiki.lazarus.freepascal.org/SynEdit/port
Line 18: Line 18:
 
https://github.com/rnapoles/
 
https://github.com/rnapoles/
  
= SynEdit in the IDE =
+
= SynEdit в IDE =
  
The SynEdit in lazarus is a built-in package, because the IDE uses it itself. That's why there is no .lpk file.
+
SynEdit в Лазарус является встроенным пакетом, потому что его использует IDE. Вот почему нет файлов .lpk.
The components can be found on the component palette on the 'SynEdit' page.
+
Компонент может быть найден в палитре компонентов на странице 'SynEdit'.
  
= Using SynEdit=
+
= Использование SynEdit=
  
== Highlighting ==
+
== Подсветка ==
  
* Use an existing Highlighter or Download more from [http://bugs.freepascal.org/view.php?id=18248 Highlighter for SynEdit]
+
* Используйте существующую подсветку или загрузите другую из [http://bugs.freepascal.org/view.php?id=18248 Подсветка для SynEdit]
* Use a customizable Highlighter (SynAnySyn or SynPositionSyn) (See Examples for how to use)
+
* Используйте настраеваимую подсветку (SynAnySyn или SynPositionSyn) (Смотрите прмеры того как использовать)
* Write your own [[SynEdit_Highlighter]]
+
* Напишите свою собственную [[SynEdit_Highlighter]]
  
== (Auto-)Completion ==
+
== (Авто-)завершение==
  
There are 2 completion plugins for SynEdit:
+
Существует 2 плагина для SynEdit, для завершения:
* TSynCompletion (the one used by the IDE)
+
* TSynCompletion (используется в IDE)
 
* TSynAutoComplete  
 
* TSynAutoComplete  
  
Note: TSynAutoComplete (from the component palette) is <b>not</b> does not have a drop-down.
+
Примечание: TSynAutoComplete (из палитры компонентов) <b>не</b> имеет выпадающего списка.
  
See examples for how to use both.
+
Смотрите примеры как использовать их обоих.
  
== Change text from Code ==
+
== Изменение текста из кода ==
  
Text can be accessed via SynEdit.Lines. Changing text via the Lines property does not work with undo/redo  
+
Текст может быть получен через SynEdit.Lines. изменение текста через свойство Lines не работает с undo/redo.
  
Use TextBetweenPoints and TextBetweenPointsEx to change text, if you want undo/redo do work.
+
Используйте TextBetweenPoints и TextBetweenPointsEx для изменения текста, если вы хотите чтобы undo/redo работали.
  
== BookMarks ==
+
== Закладки ==
  
Please see the following topic in the forum: http://forum.lazarus.freepascal.org/index.php/topic,14948.msg79794.html
+
Пожалуйста обратитесь к следуюзей теме на форуме: http://forum.lazarus.freepascal.org/index.php/topic,14948.msg79794.html
  
= Examples =
+
= Примеры =
  
<b>Examples can be found in the folder lazarus/examples/synedit</b>
+
<b>Примеры можно найти в каталоге lazarus/examples/synedit</b>
  
== How to add support to Copy, Paste, Cut, Undo, Redo, etc ==
+
== Как добавить поддержку Copy, Paste, Cut, Undo, Redo и др. ==
  
These features can be implemented by using SynEdit commands.
+
Эти возможности могут быть реализованны использованием комманд SynEdit.
  
 
<delphi>uses
 
<delphi>uses
Line 76: Line 76:
 
end;</delphi>
 
end;</delphi>
  
= Further development, discussions =
+
= Дальнейшее развитие, обсуждение =
  
 
* RTL (right-to-left): started by Mazen
 
* RTL (right-to-left): started by Mazen
Line 84: Line 84:
 
* [[Redesign of the SynEdit component]]. The primary goal is more reliable display and navigation in the text. A more modular approach also allows for better integration of extensions, and for specialized controls, for use outside of Lazarus.
 
* [[Redesign of the SynEdit component]]. The primary goal is more reliable display and navigation in the text. A more modular approach also allows for better integration of extensions, and for specialized controls, for use outside of Lazarus.
  
=See also=
+
=Смотрите также=
  
 
* [[SynEdit Highlighter]]
 
* [[SynEdit Highlighter]]
  
 
[[Category:Components]]
 
[[Category:Components]]

Revision as of 13:04, 7 February 2012

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) русский (ru) 中文(中国大陆)‎ (zh_CN)

Общее

SynEdit находящийся в Lazarus основан на SynEdit 1.0.3 [[1]], и была адаптированна и расширенна довольно сильно. Например поддержка UTF-8 и свертывание кода были добавленны.

Пакет содержащий исходник компонента называется TSynEdit, некоторые syntax highlighters и другие компоненты используют исходник редактора.

Он лиицензирован под темиже условиями что и оригинал SynEdit (MPL или GPL)

Synedit 2.0.5 port

Альтернативный порт текущей версии оригинального SynEdit :

http://wiki.lazarus.freepascal.org/SynEdit/port

code: https://github.com/rnapoles/

SynEdit в IDE

SynEdit в Лазарус является встроенным пакетом, потому что его использует IDE. Вот почему нет файлов .lpk. Компонент может быть найден в палитре компонентов на странице 'SynEdit'.

Использование SynEdit

Подсветка

  • Используйте существующую подсветку или загрузите другую из Подсветка для SynEdit
  • Используйте настраеваимую подсветку (SynAnySyn или SynPositionSyn) (Смотрите прмеры того как использовать)
  • Напишите свою собственную SynEdit_Highlighter

(Авто-)завершение

Существует 2 плагина для SynEdit, для завершения:

  • TSynCompletion (используется в IDE)
  • TSynAutoComplete

Примечание: TSynAutoComplete (из палитры компонентов) не имеет выпадающего списка.

Смотрите примеры как использовать их обоих.

Изменение текста из кода

Текст может быть получен через SynEdit.Lines. изменение текста через свойство Lines не работает с undo/redo.

Используйте TextBetweenPoints и TextBetweenPointsEx для изменения текста, если вы хотите чтобы undo/redo работали.

Закладки

Пожалуйста обратитесь к следуюзей теме на форуме: http://forum.lazarus.freepascal.org/index.php/topic,14948.msg79794.html

Примеры

Примеры можно найти в каталоге lazarus/examples/synedit

Как добавить поддержку Copy, Paste, Cut, Undo, Redo и др.

Эти возможности могут быть реализованны использованием комманд SynEdit.

<delphi>uses

 ...
 SynEdit, SynEditKeyCmds;

procedure TfrmPrincipal.HandleCodigoKeyDown(Sender: TObject; var Key: Word;

 Shift: TShiftState);

begin

 if (Shift = [ssCtrl]) then
 begin
   case Key of
   VK_C: synCodigo.CommandProcessor(TSynEditorCommand(ecCopy), ' ', nil);
   VK_V: synCodigo.CommandProcessor(TSynEditorCommand(ecPaste), ' ', nil);
   VK_X: synCodigo.CommandProcessor(TSynEditorCommand(ecCut), ' ', nil);
   end;
 end;

end;</delphi>

Дальнейшее развитие, обсуждение

  • RTL (right-to-left): started by Mazen
  • automatic monospace font selection: At the moment SynEdit starts with a font 'courier'. But it would be better, if SynEdit would start with a monospace font (meaning: every character has the same width). At the moment the LCL TFont does not provide such a property. At the moment the user has to choose the right font.
  • automatic UTF-8 font selection: Same as above monospace, but also with an UTF-8 font, so that for example umlaute are shown correctly. At the moment the user has to choose the right font.
  • Dead keys. Most keyboards support typing two or more keys to create one special character (like accented or umlaut characters).
  • Redesign of the SynEdit component. The primary goal is more reliable display and navigation in the text. A more modular approach also allows for better integration of extensions, and for specialized controls, for use outside of Lazarus.

Смотрите также