Mejoras al asistente para crear clases.

He realizado unas mejoras al asistente para crear clases:

  • Especificar métodos.
  • Seleccionar si se desean crear métodos Get/Set
  • Seleccionar si se desea crear método toArray
  • Seleccionar si se desea crear método toString
  • Seleccionar si se desea crear método save
  • Seleccionar si se desea crear método delete
  • Seleccionar si se desea crear método clone
  • Especificar clase padre
  • Guarda el nombre del autor.

CrearClase

Descarga: complementsWzd.

Descarga: código fuente generada por la clase.

Foro para complements.lib

Os dejo enlace al foro que he creado para complements.lib, de forma que podamos estar en contacto de forma continua y que tengáis puntual información sobre el desarrollo de la librería y otras actualizaciones.

Asistente para generar clases de complements.lib en Xailer 2.7

He creado un pequeño asistente para generar las clases del Modelo de Datos que se usarán con la librería complements.lib desde Xailer 2.7.

CrearClaseEl asistente se usa desde la opción del menú de Xailer “componentes-asistentes”. Es muy sencillo de usar y genera el siguiente código:

/*
* Proyecto: complementsWzd
* Fichero: Module1.prg
* Descripción:
* Autor:
* Fecha: 09/12/2012
*/

#include “Xailer.ch”
//————————————————————————–

CLASS cliente FROM Object

PROTECTED:

DATA id
DATA nombre
DATA apellidos
DATA domicilio
DATA codigoPostal
DATA localidad
DATA provincia
DATA fechaAlta
DATA telefonos
DATA formaPago

EXPORTED:

METHOD new() CONSTRUCTOR

METHOD setId( id )
METHOD getId()

METHOD setNombre( nombre )
METHOD getNombre()

METHOD setApellidos( apellidos )
METHOD getApellidos()

METHOD setDomicilio( domicilio )
METHOD getDomicilio()

METHOD setCodigoPostal( codigoPostal )
METHOD getCodigoPostal()

METHOD setLocalidad( localidad )
METHOD getLocalidad()

METHOD setProvincia( provincia )
METHOD getProvincia()

METHOD setFechaAlta( fechaAlta )
METHOD getFechaAlta()

METHOD setTelefonos( telefonos )
METHOD getTelefonos()

METHOD setFormaPago( formaPago )
METHOD getFormaPago()

METHOD toArray( b )

METHOD toString()

ENDCLASS

//————————————————————————–

METHOD new() CLASS cliente

//ToDo: Tu código aquí
::id := 0
::nombre := string():new()
::apellidos := string():new()
::domicilio := string():new()
::codigoPostal := string():new()
::localidad := string():new()
::provincia := string():new()
::fechaAlta := dtDate():new()
::telefonos := arrayList():new()
::formaPago := formaPago():new()

RETURN Self

//————————————————————————–

METHOD setId( id )
::id := id
RETURN nil

METHOD getId()
RETURN ::id

//————————————————————————–

METHOD setNombre( nombre )
::nombre := nombre
RETURN nil

METHOD getNombre()
RETURN ::nombre

//————————————————————————–

METHOD setApellidos( apellidos )
::apellidos := apellidos
RETURN nil

METHOD getApellidos()
RETURN ::apellidos

//————————————————————————–

METHOD setDomicilio( domicilio )
::domicilio := domicilio
RETURN nil

METHOD getDomicilio()
RETURN ::domicilio

//————————————————————————–

METHOD setCodigoPostal( codigoPostal )
::codigoPostal := codigoPostal
RETURN nil

METHOD getCodigoPostal()
RETURN ::codigoPostal

//————————————————————————–

METHOD setLocalidad( localidad )
::localidad := localidad
RETURN nil

METHOD getLocalidad()
RETURN ::localidad

//————————————————————————–

METHOD setProvincia( provincia )
::provincia := provincia
RETURN nil

METHOD getProvincia()
RETURN ::provincia

//————————————————————————–

METHOD setFechaAlta( fechaAlta )
::fechaAlta := fechaAlta
RETURN nil

METHOD getFechaAlta()
RETURN ::fechaAlta

//————————————————————————–

METHOD setTelefonos( telefonos )
::telefonos := telefonos
RETURN nil

METHOD getTelefonos()
RETURN ::telefonos

//————————————————————————–

METHOD setFormaPago( formaPago )
::formaPago := formaPago
RETURN nil

METHOD getFormaPago()
RETURN ::formaPago

//————————————————————————–

METHOD toArray( b ) CLASS cliente

LOCAL a

IF !Empty( b ) .AND. Valtype( b ) == ‘B’
a := eval( b, self )
ELSE
//ToDo: Tu código aquí
a := { ::getId(),;
::getNombre(),;
::getApellidos(),;
::getDomicilio(),;
::getCodigoPostal(),;
::getLocalidad(),;
::getProvincia(),;
::getFechaAlta(),;
::getTelefonos(),;
::getFormaPago(),;
self }
END IF

RETURN a

//————————————————————————–

METHOD toString() CLASS cliente

LOCAL c := ”

//ToDo: Tu código aquí

RETURN c

//————————————————————————–

Descarga: complementsWdz

Descarga: ejemplo de clase generada con este asistente.

ACTUALIZACION: 2012.12.09 16:05 Acabo de subir una corrección para solucionar que no se generase el nombre de la clase en los métodos get/set. Por favor, descargar de nuevo.

ACTUALIZACION 2012.12.09 19:44: Siguiendo las sugerencias de Manu, he realizado las mejoras que ha propuesto y además he añadido dos nuevos datos: Descripción de la clase y autor, que salen en el comentario inicial junto con el nombre de la clase y la fecha de creación. Descargad el componente de nuevo.

/**
* Clase: cliente
* Descripción: Datos de un cliente
* Autor: José Alfonso Suárez Moreno
* Fecha: 09/12/2012
*/