[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