Capítulo 9
Pascal con Lazarus
Aplicaciones de escritorio nativas en Object Pascal, con los componentes de la LCL.
Crear una aplicación de Pascal
Al crear la aplicación, elija Pascal (Lazarus). El código va en la unidad Form1.pas: la clase TForm1 hereda de TFormDesign y cada evento es un método que se declara en la clase con override y se escribe en implementation. El estudio añade las dos partes al crear un evento. Los componentes son los de la LCL de siempre.
type
TForm1 = class(TFormDesign)
public
procedure Button1_click; override;
procedure Scale1_change(Value: Double); override;
end;
implementation
procedure TForm1.Button1_click;
begin
Label1.Caption := 'Hola, ' + Entry1.Text;
Status.SimpleText := 'Saludado';
end;
procedure TForm1.Scale1_change(Value: Double);
begin
Bar1.Position := Round(Value);
end;| Componente | Clase de la LCL y lo más usado |
|---|---|
| Etiqueta | TLabel: Caption, Font, Color |
| Botón | TButton (o TDmsButton si tiene color o es alto): Caption, Enabled |
| Entrada, Contraseña | TEdit: Text, Clear, SetFocus |
| Texto | TMemo: Text, Lines.Add, Lines.LoadFromFile |
| Casilla, Opción | TCheckBox, TRadioButton: Checked |
| Lista, Combo | TListBox, TComboBox: Items, ItemIndex |
| Escala, Barra de progreso | TTrackBar, TProgressBar: Position, Max |
| Marco, Control de páginas | TPanel, TPageControl (cada página, Pages1_page0…) |
| Barra de estado | TStatusBar: SimpleText |
| Menú, Temporizador | TMainMenu, TTimer: Enabled, Interval |
| Diálogos Abrir y Guardar | TOpenDialog, TSaveDialog: Execute, FileName |
| La ventana y el estudio | Caption, Close, ShowMessage(texto), Ask(pregunta), NumToStr(x), ReadText, WriteText, LastKey (en el evento de teclado) |
Compilar, ejecutar y exportar
- Ejecutar (F9) compila con
lazbuildy abre la aplicación. Los errores salen en la pestaña Salida con su línea deForm1.pas, comoForm1.pas(22,3) Error: Identifier not found. - Si falta Lazarus, el estudio lo dice y ofrece Instalar (en macOS, con Homebrew:
brew install fpcybrew install --cask lazarus). En un Mac con Apple Silicon se compila para arm64. - Lo que escribe
WriteLnsale en la pestaña Salida. Para depurar paso a paso, abrabuild/pascal/app.lpien el IDE de Lazarus. - Exportar el proyecto de Lazarus crea una carpeta con
app.lpiy las unidades: se abre en Lazarus o se compila conlazbuild app.lpi.