[Lazarus-es] Programando con Objetos

Julio C. Taborda julio_taborda en yahoo.com.ar
Sab Jul 25 21:31:55 CEST 2009


Hola Giuseppe,

> Si, hace un tiempo estuve ojeando MVC para Delphi, y ví que estaba  
> TIOPF y PressObjects. Éste último no llegué a mirarlo, y TiOPF, me  
> suena que me pareció bastante complicado de manejar. Lo mismo estoy  
> equivocado. También me suena que me dió problemas para hacerlo  
> funcionar en OSX.

Si, es bastante complicado, o por lo menos es lo que me pareció a mí
que nunca había programado con objetos.

En cuanto a OSX no te sabría decir si funciona o no, no tengo acceso a
ninguna máquina con ese sistema operativo, pero si anda en windows y
linux en 32 y 64 bits.

> 
> Esta es la idea, que la persistencia ya esté implementada, y de
> manera transparente. Sabes si crea la BBDD, campos y demás cosas
> necesarias sin tener que tocar nada de SQL?
> 
Hasta ahora siempre usé lazarus database desktop para crear las tablas
y las clases. Lo que yo hice es que cada tabla es un objetoy cada campo
se corresponde a una propiedad, entonces definía las tablas y campos y
presionando el botón de generar el código ya tenía las clases armadas.

Hasta ahora lo único que hice fueron algunos programitas de prueba muy
simples como los que vienen de ejemplo.

Nunca lo probé, pero parece que tambien se pueden crear las BD y tablas
por código, buscando en los ejemplos encontré esto:

procedure TFormMainCreateDatabase.btnCreateDatabaseClick(Sender:
TObject); 

var
  LPerLayer: TtiPersistenceLayer;

begin

LPerLayer:=
GTIOPFManager.PersistenceLayers.FindByPersistenceLayerName(PersistenceLayerName);

Assert(LPerLayer<>nil, '"' + PersistenceLayerName + '" not
registered'); LPerLayer.CreateDatabase(DatabaseName, UserName,
Password); ShowMessage('Database "' + DatabaseName + '" has been
created.'); 

end;

procedure TFormMainCreateTable.btnCreateTableClick(Sender: TObject);
var
  LTableMetaData: TtiDBMetaDataTable;

begin

  LTableMetaData:= TtiDBMetaDataTable.Create;
  try
    LTableMetaData.Name:= 'Client';
    LTableMetaData.AddField('OID',               qfkString,  36); // Using GUID OIDs
    LTableMetaData.AddField('Client_Name',       qfkString, 200);
    LTableMetaData.AddField('ACN',               qfkString,   9);
    GTIOPFManager.CreateTable(LTableMetaData);
  finally
    LTableMetaData.Free;
  end;
  ShowMessage('Table ''Client'' created');

end;

En el grupo de noticias tiopf.binary hay una adaptación de un artículo
que encontré en inglés que trata de explicar paso a paso como
crear clases(Lazarus Database Desktop), unit tests (FPCUnit), crear una
interfáz gráfica (MGM), etc usando tiopf y lazarus. El título del
mensaje es "Paper in spanish - Artículo en español".




More information about the Lazarus-es mailing list