FCL/es

From Free Pascal wiki
Jump to navigationJump to search

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

La Free Component Library (FCL) (Librería de Componentes Libres) consiste de una colección de unidades, que proveen componentes (mayoritariamente clases) para tareas frecuentes. Intenta ser compatible con la Visual Component Library (VCL) (Librería de Componentes Visuales) en Delphi, pero la FCL está restringida a componentes no-visuales. En la otra mano, la FCL va mas allá que la VCL.

Mira Free Component Library para el estado de desarrollo actual y resumen de los componentes disponibles (parece ser inconsistente con Reference for 'fcl' dn Lazarus). También puedes chequear el repositorio de código. Ten en cuenta que también hay algunos archivos específicos de plataformas en la FCL.

Luego del ejemplo, puedes encontrar una lista de algunos componentes de la FCL.

Uso

Para usar un componente de la FCL debes incluir su sombre en la cláusula uses de tu programa o unidad (mira el ejemplo debajo). La configuración predeterminada del compilador está establecida para buscar en el directorio de fcl para tales unidades. También puedes establecer la ruta de búsqueda apropiada con un compilador de línea de comandos de esta forma -Fu<ruta-a-las-unidades-fcl>.

Subpaquetes

La lista completa de subpaquetes de la FCL la encuentras aquí: Package List

Los subpaquetes prefijados fcl son:

Documentación

Actualmente la FCL no está documentada (sientete libre para contribuir; también mira en Reference for 'fcl'). Para unidades compatibles con Delphi, debes consultar la documentación de Delphi. Siempre puedes ver los archivos fuente en el repositorio.

Ejemplo

El siguiente programa ilustra el uso de la clase TObjectList en la unidad de Contnrs FCL (que proporciona varios contenedores, incluidas las listas, pilas y colas):

 program TObjectListExample;
 
 uses
   Classes, { from RTL for TObject }
   Contnrs; { from FCL for TObjectList }
 
 type
    TMyObject = class(TObject)  { just some application-specific class }
    private
      FName: String; { with a string field }
    public
      constructor Create(AName: String); { and a constructor to create it with a given name }
      property Name: String read FName; { and a property to read the name }
   end;
 
 constructor TMyObject.Create(AName: String);
 begin
   inherited Create;
   FName := AName;
 end;
 
 var
   VObjectList: TObjectList; { for a list of objects; it is a reference to such a list! }
 
 begin
   VObjectList := TObjectList.Create  { create an empty list }
   with VObjectList do
   begin
     Add(TMyObject.Create('Thing One'));
     Writeln((Last as TMyObject).Name);
     Add(TMyObject.Create('Thing Two'));
     Writeln((Last as TMyObject).Name);
   end;
 end.

Este programa debe ser compilado en un modo orientado a objetos, como -Mobjfpc ó -Mdelphi.

Componentes FCL

Esto no es una lista exhaustiva (para evitar la duplicación de esfuerzos). Sólo menciona algunos componentes importantes, o componentes que no son fáciles de encontrar.

Classes
Base classes for Object Pascal extensions in Delphi mode
Contnrs
Some common container classes
FPCUnit
Unit testing framework (based on Kent Beck's unit testing framework, e.g. cf. JUnit), documenting article about FPCUnit
XMLRead, XMLWrite and DOM
Detallado en el XML Tutorial