Difference between revisions of "Lazarus Tutorial/es"

From Lazarus wiki
Jump to navigationJump to search
Line 121: Line 121:
 
* '''Desangrar selección''': Elimina un nivel de sangrado, moviendo el texto hacia la izquierda según lo indicado en Sangrar bloque.
 
* '''Desangrar selección''': Elimina un nivel de sangrado, moviendo el texto hacia la izquierda según lo indicado en Sangrar bloque.
 
* '''Encerrar selección''': Muestra un menú emergente con un número de opciones para, lógicamente, encerrar el texto seleccionado (begin ... end; try ... except; try ... finally; repeat ... until; { ... } etc).
 
* '''Encerrar selección''': Muestra un menú emergente con un número de opciones para, lógicamente, encerrar el texto seleccionado (begin ... end; try ... except; try ... finally; repeat ... until; { ... } etc).
* '''Uppercase selection''': Convert selected text to uppercase.
+
* '''Selección en mayúsculas''': Convierte el texto seleccionado en mayúsculas.
* '''Lowercase selection''': Convert selected text to lowercase.
+
* '''Selección en minúsculas''': Convierte el texto seleccionado en minúsculas.
* '''Tabs to spaces in selection''': Converts any tabs in the selected text to the number of spaces specified by Environment -> Editor options -> General -> Tab widthsThe number of spaces is not a fixed quantity, but is the number needed to fill the remaining width of the tab.
+
* '''Tabulaciones a espacios en selección''': Convierta cualquier tabulación en el texto seleccionado según el número de espacios especificado en Entorno -> Opciones del Editor -> General -> Anchura de tabulaciónNo se fija el número de espacios cuantitativamente, sino el número que se necesita para rellenar el ancho restante de tabulación.
* '''Break lines in selection''': If any lines in the selected text are longer than 80 characters or the number specified in Environment -> Editor options -> Display -> Right Margin, then the line is broken at a word boundary and continued on the next line.
+
* '''Romper líneas seleccionadas''': Si algunas líneas en el texto seleccionado  o el número especificado en Entorno -> Opciones del Editor -> Pantalla -> Margen derecho tienen más de 80 caracteres, entonces la línea se rompe en una palabra límite y continúa en la línea siguiente.
* '''Comment selection''': Makes the selected text into comments  by inserting // on each line.
+
* '''Comentar selección''': Convierte el texto seleccionado en comentarios insertando // en cada línea.
* '''Uncomment selection''': Removes comment marks.
+
* '''Descomentar selección''': Borra las marcas de comentario.
* '''Sort selection''': Sort lines (or words or paragraphs) alphabeticallyoptions for ascending or descending order, case sensitive or insensitiveIn the middle of program source code, of course, it makes no sense, but if you have a list you need to have sorted this will do the trick.
+
* '''Ordenar selección''': Ordena líneas (o palabras o párrafos) alphabeticamenteen orden ascendente o descendente, puede ser sensible o insensibleEn mitad del código fuente del programa, claro, se convierte en insensible, pero si tiene una lista que necesita ordenar lo puede hacer con esto.
* '''Select''': Allows selection of blocks of textOptions include select all, select to brace, select paragraph or line etc.
+
* '''Seleccionar''': Permite seleccionar bloques de textoLas opciones son Seleccionar todo, Seleccionar tira, seleccionar párrafo o línea, etc.
* '''Insert from character map''': Allows insertion of non-keyboard symbols such as accented characters, picked from a pop-up character map.
+
* '''Insertar desde mapa de caracteres''': Permite insertar símbolos que no están en el teclado tales como caracteres acentuados, seleccionados desde un mapa de caracteres emergente.
* '''Insert text''': Displays pop-up menu to allow insertion of standard text such as CVS keywords (Author, Date, Header etc) or GPL notice, username or Current date and time.
+
* '''Insertar texto''': Muestra un menú emergente que permite insertar texto normal tal como palabras clave de CVS (Author, Date, Header, etc) o avisos de GPL, usuario o fecha y hora actual.
* '''Complete code''': Completes the code at the cursor. It is context sensitive and saves you a lot of time. For example: it completes classes, by adding private variables, Get and Set property access methods and adding method bodies. On variable assignments (e.g. i:=3;) it adds the variable declarations. On forward defined procedures it adds the procedure bodies. On event assignments (OnClick:=) it adds the method definition and the method body. See [[Lazarus IDE Tools]].
+
* '''Completar código''': Completa el código en el cursor. Es sensible al contexto y le ahorra mucho tiempo. Por ejemplo: completa clases, añadiendo variables privadas, las propiedades Get y Set acceden a métodos y añaden partes principales de métodos. Asignando variables (por ejemplo i:=3;) añade las declaraciones de las variables. En los procedimientos definidos más adelante añade las partes principales de los métodos. Al asignar eventos (OnClick:=) añade la definición de método y la parte principal del método. Véase [[Lazarus IDE Tools|Herramientas del IDE de Lazarus]].
* '''Extract procedure''': Uses the selected text (a statement or series of statements) to build a new procedure.
+
* '''Extraer procedimiento''': Usa el texto seleccionado (una declaración o varias) para construir un nuevo procedimiento.
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>

Revision as of 08:50, 25 December 2005

Este es el principio de un Tutorial de Lazarus. Por favor, añada aquí sus experiencias.

(TRADUCIENDO.../ON TRANSLATION...)

Resumen

Lazarus es una herramienta de desarrollo gratuita y de código abierto para el compilador FreePascal (Object Pascal), el cual lo es también. El IDE de Lazarus (Captura de pantalla) es un entorno de programación estable y con abundantes caracteristicas para crear aplicaciones tanto gráficas como de consola. Actualmente funciona en Linux, FreeBSD y Win32 y proporciona un editor de código fuente personalizable y un entorno visual para crear formularios, junto con un generador de paquetes, depurador y una completa integración del GUI con el compilador FreePascal.

Comenzando - ¡Su primer programa con Lazarus!

Descarge, instale (Instalación de Lazarus) y ejecute Lazarus, con lo que también tendrá disponible el compilador FreePascal.

Aparecerán varias ventanas en el escritorio: el menu principial arriba, el Inspector de Objetos a la izquierda, el Editor de Código Fuente ocupando la mayor parte del escritorio, y un formulario preparado sobre el Editor de Código fuente.

En la ventana superior del menú, por debajo de la línea del menú, hay una fila de pestañas. Si la pestaña 'Standard' no está seleccionada todavía, selecciónela pulsándola con el ratón. Después busque el icono Button (un rectángulo con 'OK') y haga clic sobre él con el ratón. Después pulse sobre la ventana Form1, en alguna parte a la izquierda. Aparecerá un rectángulo sombreado etiquetado 'Button1'. Pulse otra vez sobre el icono Button en la pestaña estándar, y pulse sobre Form1 en alguna parte a la derecha: aparecerá un rectángulo etiquetado 'Button2'.

Ahora haga clic sobre Button1 para seleccionarlo. El Inspector de Objetos mostrará las características del objeto Button1. Cerca de la parte superior hay una propiedad llamada 'Caption', que muestra el valor 'Button1'. Pulse sobre esa casilla, y cambie 'Button1' por 'Pulse'. Si pulso INTRO o en otra casilla, verá la etiqueta del primer botón en Form1 cambiar a 'Pulse'. Ahora haga clic en la pestaña Eventos Inspector de Objetos, para ver varios eventos que se pueden asociar al botón. Éstos son OnClick, OnEnter, OnExit, etc. Seleccione la casilla que hay a la derecha de OnClick: aparecerá una casilla más pequeña con tres puntos (... puntos suspensivos). Cuando haga clic sobre esto, entrará automáticamente en el Editor de Código Fuente y el cursor será colocado en la parte siguiente:


 procedure TForm1.Button1Click(Sender: TObject);
 begin
   {ahora escriba:}    Button1.caption := 'Pulse otra vez';
   {el editor siempre termina el procedimiento con}
 end;

Pulse F12 para seleccionar la ventana del formulario en lugar del Editor de Código.

Ahora edite las propiedades de Button2: pulse sobre Button2 para mostrar sus propiedades en el Inspector de Objetos. Cambie su propiedad Caption por 'Salir' en lugar de 'Button2'. Ahora seleccione la pestaña Eventos, y pulse sobre la casilla de OnClicK. Haga clic en los puntos suspensivos ..., y entrará en el Editor de Código, en mitad de otro procedimiento:


 procedure TForm1.Button2Click(Sender: TObject);
 begin
 {ahora escriba:}   Close;
 {el editor siempre termina el procedimiento con} 
 end;

Ahora presione F12 para ver la ventana Form1 otra vez. Está listo ahora para intentar compilar. La manera más simple de hacer esto es seleccionar 'Ejecutar' en el menú principal, y después la opción 'Ejecutar' en el submenu. Alternativamente podría pulsar simplemente F9. Esto primero compilará y después (si todo es correcto) enlazará y ejecutará su programa. Aparecerán varias ventanas de texto aparecerán y toda clase de mensajes del compilador, pero su ventana Form1 reaparecerá finalmente, pero sin la rejilla de puntos; ésta es la verdadera ventana principal de su aplicación, y está esperando que pulse algún botón o de lo contrario interactúe con él. Intente pulsar el botón etiquetado 'Pulse'. Notará que cambia a ' Pulse otra vez'. Si lo pulsa otra vez, seguirá diciendo ¡¡'Pulse otra vez'!!

Ahora haga clic en el botón marcado 'Salir'. La ventana se cerrará y el programa terminará. Reaparecerá la ventana original Form1 con la rejilla de puntos, para aceptar más actividad de edición. Debería guardar su trabajo ahora (¡¡y con frecuencia!!) seleccionando Proyecto > Guardar proyecto como... > su_nombre_de_archivo.pas


Segunda sesión

Reabra su proyecto guardado anteriormente. En la ventana Form1 haga clic en el botón (Button1) 'Pulse' para seleccionarlo. Seleccione la pestaña 'Eventos' en el Inspector de Objetos, pulse en la casilla derecha junto a OnClick, haga clic en los puntos suspensivos, para regresar el punto apropiado en el Editor de Código Fuente.

Edite su cógigo para leer lo siguiente:

 procedure TForm1.Button1Click(Sender: TObject);
{Hace uso de la propiedad Tag, asignándole el valor 0 o 1}
 begin
   if Button1.tag =0 then
   begin
     Button1.caption := 'Pulse otra vez';
     Button1.tag := 1
   end else
   begin
     Button1.caption := 'Pulse';
     Button1.tag := 0
   end
 end;

Guarde su trabajo, recompile y ejecute. El botón de la izquierda alternará entre dos mensajes. ¡El resto corre de su cuenta!

Si prefiere escribir programas en PASCAL para consola o basados en texto (por ejemplo si está siguiendo un curso de programación en PASCAL básico, o necesita escribir programas para usar en modo tratamiento por lotes o para programar el sistema), puede también utilizar Lazarus para editar, compilar y ejecutar sus programas. Es un entorno ideal para el desarrollo de PASCAL. Vea PASCAL en modo consola.

El Editor

Cuando ejecuta Lazarus por primera vez, una serie de ventanas desconectadas separadas o 'flotantes' aparecerá en su escritorio.

La primera, en la parte superior derecha del escritorio, con el rótulo Editor vXXXXXX de Lazarus - project1 (que será modificado posteriormente para reflejar el nombre de su proyecto). Ésta es la ventana principal que controla su proyecto, y contiene el Menú Principal y la Paleta de Componentes.

Lazmain.jpg

Una línea por debajo de la barra de títulos está el Menú Principal con las opciones habituales Archivo, Editar, Buscar, Ver, con algunas selecciones que son específicas de Lazarus. Debajo, a la izquierda hay un sistema de BitButtons (que le llevan rápidamente a las opciones de su Menú Principal) y a la derecha está la Paleta de Componentes.

Debajo de la ventana del editor de Lazarus aparecerá a la izquierda la ventana Inspector de Objetos , y Lazarus Editor de Código Fuente a la derecha. Puede haber otra ventana más pequeña, etiquetada Form1, que tapa la ventana del Editor de Código Fuente de Lazarus. Si no es visible inmediatamente, puede hacerla aparecer presionando la tecla F12, que alterna entre la vista del Editor de Código Fuente y la vista del formulario Form1. La ventana del formulario es la única en la que construirá el interfaz gráfico para su aplicación, mientras que el Editor de Código Fuente es la ventana que muestra el código de PASCAL asociado a la aplicación que está creando. El manejo del Inspector de Objetos se describe con más detalle más abajo, donde se describe la Paleta de Componentes.


Cuando comience un nuevo proyecto (o cuando ejecute Lazarus por primera vez) se construirá un formulario predefinido , que se compone de una caja en la que hay una rejilla de puntos para ayudarle a colocar los diversos componentes de l formulario, y una barra a lo largo de la parte superior que contiene los botones habituales Minimizar, Maximizar y Cerrar. Si usted pulsa con el ratón en cualquier lugar de la caja, verá las propiedades de este formulario mostradas en el Inspector de Objetos en el lado izquierdo del escritorio.

Otras ventanas que pueden llegar a ser visibles durante su trabajo: Inspector del Proyecto, que contiene los detalles de los archivos incluidos en su proyecto, y permite que agregar archivos o eliminar archivos de su proyecto; la ventana Mensajes, que muestra mensajes del compilador, errores o informes sobre el progreso de su proyecto; si Lazarus fuese ejecutado desde una ventana de terminal, el terminal original seguiría siendo visible y los mensajes detallados del compilador también se mostrarían allí.


El Menú Principal

La línea del menú principal contiene las siguientes entradas: Archivo Editar Buscar Ver Proyecto Ejecutar Componentes Herramientas Entorno Ventanas Ayuda

Como de costumbre, las opciones se pueden seleccionar colocando el cursor del ratón sobre la opción del menú y pulsando con el botón izquierdo, o pulsando Alt-F en el teclado (suponiendo que la ventana del Menú Principal tenga el foco: si no lo tiene, pulse el tabulador varias veces para completar un ciclo del foco a través de varias ventanas hasta que la ventana deseada tenga su barra de título resaltada).

El submenú Archivo

  • Nueva Unidad: Crea un nuevo archivo Unidad (en código fuente Pascal).
  • Nuevo Formulario: Crea un nuevo Formulario: tanto la ventana visual en pantalla como el archivo asociado en código fuente Pascal.
  • Nuevo ...: Muestra ventana con un menú emergente (captura de pantalla) con varios tipos de documentos nuevos que se pueden crear.
  • Abrir: Muestra un cuadro de diálogo emergente para permitirle recorrer el sistema de archivos y elegir un archivo existente para abrirlo..
  • Deshacer: Anula los cambios de edición y devuelve el archivo a su estado original.
  • Guardar: Guarda el archivo actual, usando su nombre original. Si no tiene nombre, el sistema se lo pregunta (igual que Guardar como)
  • Guardar como: Le permite escoger una carpeta y un nombre para guardar el archivo actual.
  • Cerrar: Cierra el archivo actual, preguntando si quiere guardar todos los cambios del editor.
  • Cerrar todos los archivos del editor: Cierra todos los archivos abiertos actualmente en el editor. Pregunta si se guardan los cambios.
  • Limpiar directorio: Muestra un diálogo con varios filtros editables para borrar archivos del directorio actual. Útil para borrar archivos .bak y restos de antiguos proyectos en Delphi.
  • Salir: Sale de Lazarus, después de preguntar si se guardan los archivos editados.


El submenú Editar

  • Deshacer: Deshace el último cambio, dejando el Editor como estaba antes de la última acción.
  • Rehacer: Rehace la últma acción que fue anulada por Deshacer.
  • Cortar: Borra el text u otros objetos seleccionados y los coloca en el portapapeles.
  • Copiar: Hace una copia del texto seleccionado, dejando el original en su sitio y colocando una copia en el portapapeles.
  • Pegar: Sitúa el contenido del portapapeles en la posición del cursor. Si el texto ha sido seleccionado en la posición del cursor, el contenido del portapapeles sustituirá al texto seleccionado.
  • Sangrar selección: Mueve el texto seleccionado hacia la derecha según lo indicado en Entorno -> Opciones del Editor -> General -> Sangrar bloque. Esta característica es útil para formatear su código fuente Pascal para mostrar la estructura del bloque subyacente.
  • Desangrar selección: Elimina un nivel de sangrado, moviendo el texto hacia la izquierda según lo indicado en Sangrar bloque.
  • Encerrar selección: Muestra un menú emergente con un número de opciones para, lógicamente, encerrar el texto seleccionado (begin ... end; try ... except; try ... finally; repeat ... until; { ... } etc).
  • Selección en mayúsculas: Convierte el texto seleccionado en mayúsculas.
  • Selección en minúsculas: Convierte el texto seleccionado en minúsculas.
  • Tabulaciones a espacios en selección: Convierta cualquier tabulación en el texto seleccionado según el número de espacios especificado en Entorno -> Opciones del Editor -> General -> Anchura de tabulación. No se fija el número de espacios cuantitativamente, sino el número que se necesita para rellenar el ancho restante de tabulación.
  • Romper líneas seleccionadas: Si algunas líneas en el texto seleccionado o el número especificado en Entorno -> Opciones del Editor -> Pantalla -> Margen derecho tienen más de 80 caracteres, entonces la línea se rompe en una palabra límite y continúa en la línea siguiente.
  • Comentar selección: Convierte el texto seleccionado en comentarios insertando // en cada línea.
  • Descomentar selección: Borra las marcas de comentario.
  • Ordenar selección: Ordena líneas (o palabras o párrafos) alphabeticamente; en orden ascendente o descendente, puede ser sensible o insensible. En mitad del código fuente del programa, claro, se convierte en insensible, pero si tiene una lista que necesita ordenar lo puede hacer con esto.
  • Seleccionar: Permite seleccionar bloques de texto. Las opciones son Seleccionar todo, Seleccionar tira, seleccionar párrafo o línea, etc.
  • Insertar desde mapa de caracteres: Permite insertar símbolos que no están en el teclado tales como caracteres acentuados, seleccionados desde un mapa de caracteres emergente.
  • Insertar texto: Muestra un menú emergente que permite insertar texto normal tal como palabras clave de CVS (Author, Date, Header, etc) o avisos de GPL, usuario o fecha y hora actual.
  • Completar código: Completa el código en el cursor. Es sensible al contexto y le ahorra mucho tiempo. Por ejemplo: completa clases, añadiendo variables privadas, las propiedades Get y Set acceden a métodos y añaden partes principales de métodos. Asignando variables (por ejemplo i:=3;) añade las declaraciones de las variables. En los procedimientos definidos más adelante añade las partes principales de los métodos. Al asignar eventos (OnClick:=) añade la definición de método y la parte principal del método. Véase Herramientas del IDE de Lazarus.
  • Extraer procedimiento: Usa el texto seleccionado (una declaración o varias) para construir un nuevo procedimiento.