PDF de programación - Lazarus - La Biblia del SynEdit

Imágen de pdf Lazarus - La Biblia del SynEdit

Lazarus - La Biblia del SynEditgráfica de visualizaciones

Publicado el 25 de Abril del 2018
10.965 visualizaciones desde el 25 de Abril del 2018
1,6 MB
148 paginas
Creado hace 9a (10/07/2014)
Lazarus



La Biblia del SynEdit



Lazarus

La Biblia del SynEdit



1 de 148



10/07/2014

Lazarus

AUTOR

FECHA

APLICABLE A

NVEL DEL DOCUMENTO



La Biblia del SynEdit

FICHA TÉCNICA

Tito Hinostroza – Lima Perú

Rev5 terminada en 12/04/2014

Paquete SynEdit de Lazarus 1.0.12
Los ejemplos se han desarrollado sobre Windows-32.
Medio. Se asume conocimientos de Free Pascal y Lazarus.

DOCUMENTOS PREVIOS

ninguno

BIBLIOGRAFÍA

Código fuente de SynEdit - Lazarus
Código fuente de SynEdit - SourceForge
http://forum.lazarus.freepascal.org/
http://wiki.freepascal.org/SynEdit/es
http://wiki.freepascal.org/SynEdit



2 de 148



10/07/2014

Lazarus



La Biblia del SynEdit

CONTROL DE CAMBIOS

VERSIÓN

FECHA

DESCRIPCIÓN MODIFICACIONES

Por Tito Hinostroza.
Primera versión revisada completa de la documentación.
Queda pendiente de documentar:









Los otros controles del paquete SynEdit.
Funcionamiento más detallado en modo columna. (smCurrent)
El uso de complementos.
El autocompletado.

Por Tito Hinostroza
Se ha corregido la sintaxis de algunos ejemplos.
Se amplió la sección 1.4.1 y se corrigió el gráfico.
Se agregó información a Sección 1.4.4
Por Tito Hinostroza
Se agregó Apéndice y se incluyó información sobre el algoritmo “hash”,
usado en la implementación de resaltadores en Lazarus.
Se modificó sección 2.3.6.
Se agregó sección 1.7.2
Se modificó sección 2.4
Por Tito Hinostroza
Se pasó la tabla de propiedades al final
Se agregó sección 1.4.9 sobre las propiedades “Options” y “Options2”
Se agregó información a la sección 1.4.2 y se agregó sección “Tipografía”.
Se reordenó sección 2 de resaltado de sintaxis y se completó la introducción.
Se agregó información sobre más propiedades de SynEdit.
Por Tito Hinostroza
Se corrige algunas palabras con errores en la Sección 1.3
Se modificó Sección 1.4.2
Se modificaron y completaron varias secciones.
Se creó la sección “Modificar el contenido”
Se agregó información sobre la creación de atributos en 2.3.4
Se agrega sección 2.4.
Se agrega información adicional referida a plegado de código.
Se corrige errores tipográficos.
Se agrega información sobre las clases TSynCustomFoldHighlighter y
TSynCustomHighlighter.
Se incluyen más propiedades y métodos en la sección 1.9.
Se crea la sección 1.5.1

Rev1

12/10/2013

Rev2

12/10/2013

Rev3

19/10/2013

Rev4

27/10/2013

Rev5

26/01/2014

Rev6

05/04/2014



3 de 148



10/07/2014





La Biblia del SynEdit

Lazarus



“En el principio, era TECO y VI”

4 de 148



10/07/2014

Lazarus



La Biblia del SynEdit

1 Editor con reconocimiento de Sintaxis: SynEdit.



Gran parte de este trabajo está basado en la experiencia de uso, la escasa documentación que

existe en la web, Ingeniería inversa, y al análisis del código fuente del componente SynEdit.



1.1 ¿Qué es SynEdit?


Es un componente o control que viene integrado en el entorno de Lazarus. Es un control de
edición. Permite implementar rápidamente, editores de texto, con características avanzadas como
resaltado de sintaxis.

Para ser exactos, SynEdit es todo un paquete que viene ya integrado en Lazarus cuando se
instala (y que incluye diversos componentes), pero por lo general, cuando decimos SynEdit, nos
referimos al componente TSynEdit que es el editor con posibilidades de resaltado de sintaxis.

Se puede acceder a él, a través de la pestaña “SynEdit” de la paleta de componentes. EL editor

TSynEdit, se encuentra a la izquierda. En esta pestaña hay además diversos controles relacionados a
“TSynEdit”:



 TSynMemo.- Versión de TSynEdit con algunas diferencias. Tiene menos métodos y eventos

publicados. Deriva de SynEdit. Puede remplazar a SynEdit, en muchos casos.

 TSynCompletion.- Control no visible que permite implementar la opción de “Completado de

código”.

 TSynAutoComplete.- Control no visible que permite implementar la opción de “Auto-

Completado de código”.

 TSynPasSyn.- Componente de sintaxis del lenguaje Pascal.

 TSynFreePascalSyn.- Componente de sintaxis del lenguaje de Free Pascal.

 TSynCppSyn.- Componente de sintaxis del lenguaje C++.

 TSynJavaSyn.- Componente de sintaxis del lenguaje Java.

 etc.

El control SynEdit, que se incluye en Lazarus, es una versión modificada del proyecto
independiente SynEdit. La versión adaptada para Lazarus, se ha desarrollado a partir de la versión 1.03,

5 de 148



10/07/2014

Lazarus



La Biblia del SynEdit

a la que se le ha agregado algunas características adicionales, como soporte para UTF-8 y Plegado de
código.

Este componente, está bien revisado y comprobado, ya que es el mismo que usa el IDE de

Lazarus para su Editor de Código.

Desgraciadamente no existe suficiente documentación técnica sobre el proyecto, pero lo que sí

se sabe es que es funcional y de muy buen desempeño.



1.2 Características de SynEdit


El componente SynEdit (TSynEdit) de Lazarus, tiene las siguientes características:

 Componente accesible desde la IDE Lazarus.

 No requiere archivos, adicionales (como es el caso de Scintilla). Una vez integrado en el

proyecto, se integra en el código sin ninguna dependencia.

 Su código es completamente accesible y modificable.

 Trabaja completamente en la codificación UTF-8.

 Soporta coloreado de sintaxis, para varios lenguajes predefinidos o se le puede crear una nueva

sintaxis.

 Soporta opciones de completado y autocompletado de código.

 Soporta plegado de código (folding). Pero debe hacerse por código.



Incluye opciones de “Undo” y “Redo”, con amplia memoria de cambios.

 Contiene métodos para Búsqueda y Reemplazo.

 Soporta selección sencilla por columnas.

 Permite numerar las líneas.

 Soporta resaltadores y marcadores de texto.

1.3 Apariencia


Al agregar el componente TSynEdit al formulario, este se encuentra ya operativo. Se puede
ejecutar el programa y ver que el editor responde como cualquier cuadro de texto de tipo TMemo.

6 de 148



10/07/2014

Lazarus



La Biblia del SynEdit



La principal diferencia visual está en la barra vertical que aparece a la izquierda. Esta barra sirve
para mostrar el número de línea, y para otras opciones más. Otra diferencia es que el tamaño horizontal
de letra es uniforme. Es decir que la letra “m”, tiene el mismo ancho que la letra “l”. Este es el tipo de
letra que se carga por defecto en un “SynEdit”.

Inicialmente el SynEdit no incluye opciones de resaltado de sintaxis, porque no tiene ninguna
sintaxis asociada, todavía. Lo que si incluye por defecto, es la detección de “brackets”, es decir resalta el
paréntesis que se abre y se cierra, si es que se pone el cursor en uno de los paréntesis. El
comportamiento es similar con los corchetes, llaves y comillas. No se reconocen los apóstrofos.

Este resaltado consiste, por defecto, en poner los caracteres inicial y final, en modo negrita.



texto (texto entre paréntesis (otro texto)) más texto.

Para desactivar esta característica, se debe quitar la opción “eoBracketHighlight”, de la

propiedad “Options”.

Si se desea modificar el atributo del resaltado de los delimitadores, se puede usar el siguiente

código:



SynEdit1.BracketMatchColor.Foreground := clRed; //cambia a color rojo



Otra de las características que viene por defecto en SynEdit, es la opción de poder crear
marcadores (Ver 1.8.5 - Marcadores de texto). SI no se va a usar, esta opción se debe deshabilitarla
porque podría generar errores en tiempo de ejecución.

También las opciones de Cortar, Copiar y Pegar, se encuentran habilitadas por defecto, en el

control SynEdit, sin necesidad de implementarlas.

En general, todos los atajos que se crean por defecto en SynEdit, corresponden a acciones que

están predefinidas sin necesidad de activarlas.

7 de 148



10/07/2014

Lazarus



La Biblia del SynEdit

Existen diversas propiedades para cambiar la apariencia del control SynEdit. Describiremos

algunas de ellas.



1.3.1 Panel Vertical



El panel vertical que aparece en la parte izquierda del control, es llamada “Gutter” (canal), y es
la destinada a mostrar el número de línea, las marcas de plegado (folding), las marcas de cambio y los
marcadores.

Número de

línea

Marcadores

Marcas de

cambio

Marcas de
“folding”

Gutter



El “Gutter”, se puede mostrar u ocultar por código. Para hacerlo invisible se debería hacer:

SynEdit1.Gutter.Visible := False;


En este caso, nuestro editor tiene el nombre por defecto que se le asigna al agregarlo a un

formulario: SynEdit1.

El “Gutter”, por defecto, tiene el ancho ajustado de forma automática, es decir que cambia, de
acuerdo a la cantidad de filas en el editor. Se le puede fijar a un ancho determinado, poniendo primero
la propiedad “Autosize” a “false”:

ed.Gutter.AutoSize:=false;

ed.Gutter.Width:=30;


No es recomendable cambiar así, el ancho, porque de esta forma, no se reubican los elementos

que contiene, así que se podría perder de vista parte de los números o las marcas de “folding”.

Es preferible dejar el “Autosize” en “true” y desactivar elementos individuales del “Gutter”, para
variar su tamaño. Esto se puede hacer fácilmente con el inspector de objetos, modificando la propiedad
“Parts”, de la propiedad “Gutter”:



8 de 148



10/07/2014

Lazarus



La Biblia del SynEdit


Y luego ocultando el elemento deseado:



En este ejemplo se oculta el área destinada a los marcadores. Al ir ocultando áreas, el tamaño



total del “Gutter”, va disminuyendo.



1.3.2 Margen Derecho


Por defecto en SynEdit aparec
  • Links de descarga
http://lwp-l.com/pdf10643

Comentarios de: Lazarus - La Biblia del SynEdit (2)

5 de Abril del 2020
estrellaestrellaestrellaestrellaestrella
Muy bueno
Responder
FERMIN ZERMEÑO
4 de Julio del 2023
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad