Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 30-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Yo propongo otra cosa, de la misma índole, pero en otro sentido:
Código Delphi [-]

TForm1 = class (tForm)

private
  Fparam1:string;
  Fparam2:integer;

  procedure Setparam2(value:integer);
  function Getparam2:integer;
public
  constructor Create(Aowner:TObject);override;

  property Parametro1:string read Fparam1 write Fparam1;
  property Parametro1:integer read Getparam2 write Setparam2;
  procedure Execute;
end;

constructor TForm1.Create(Aowner:TObject);
begin
  inherited Create(Aowner);
  Fparam1 := EmptyStr;
  Fparam2 := -1;
end;

procedure TForm1.SetParam2(value:integer);
begin
{ Value es el valor que se le va a asignar desde fuera de la clase
  justo cuando alguien hace Form1.param2 := 33
}
 if Value <> Fparam2 then 
 begin
// podemos comprobar que el antiguo Fparam2 es distinto al 
// valor que se le quiere asignar, y no repetir acciones.
// Además podemos saber el valor que tenía y ahora el valor que tendrá, 
// en algunas situaciones es muy util, porque podemos inicializar variables
// liberar objetos, etc.
end;
end;

function TForm1.GetParam2:integer;
begin
  result := Fparam2;
 // devolvemos la variable privada, igual hay que hacer cálculos u otras cosas
end;

procedure TForm1.Execute;
begin
  if Fparam1 = EmptyStr then
    raise Exception.Create('dale un valor a Parametro1');

  if Fparam2 = -1 then
    raise exception.Create ('dale un valor a Parametro2');

Ventajas:
- Si ahora necesitamos añadir otro parámetro más, no hay necesidad de modificar la declaración del procedimiento Execute, es decir modificar los parámetros de entrada que necesita, simplemente se añade una propiedad más, modificas internamente el método Execute y listo. Normalmente no tienes que modificar el programa que hace uso de la clase.

- Podemos saber los valores antiguos y nuevos de cada parámetro, como ya dije, para inicializar o liberar recursos.

- Su uso es más parecido a la VCL, por tanto en un futuro será intuitivo su uso. ¿el TQuery lleva parámetros en su método Open(sql: string)?, o por ejemplo, ¿el TOpenDialog en su método Execute?, pues por eso mismo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 30-10-2006 a las 11:01:10.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar parametros.... Coco_jac SQL 2 02-09-2006 04:28:16
Abrir nueva ventana y pasar parametros Coco_jac PHP 2 25-08-2006 17:14:16
Pasar parametros a IBdataSet digital Firebird e Interbase 3 13-07-2004 08:39:11
como pasar parametros... hook SQL 13 11-05-2004 19:24:14
Pasar parametros a ADOQUERY JODELSA Conexión con bases de datos 1 04-09-2003 23:47:36


La franja horaria es GMT +2. Ahora son las 17:15:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi