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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-04-2007
Byfed Byfed is offline
Miembro
 
Registrado: oct 2006
Posts: 18
Poder: 0
Byfed Va por buen camino
Joer.. Román.. como leches no he caido antes!!!.. si es que aún soy muy novato... en fin, muchas gracias de nuevo (utilizaré una variable de FrameActivo).

Nota: No os cuento la porrada de veces que he escrito un procedimiento para esconder todos los frames, porque me da vergüenza.

Saludos y gracias.
Responder Con Cita
  #2  
Antiguo 05-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Ya puestos a trabajar de la forma de roman, se podría hacer algo más automático:

Código Delphi [-]

 TForm1 = class(TForm)

private
   FFrameActivo : TFrame;
  procedure SetFrameActivo(const Value:TFrame);
public
  FrameActivo :TFrame read FFrameActivo write SetFrameActivo;
...

procedure TFrom1.SetFrameActivo(const Value:TFrame);
begin
  if Assigned(FFrameActivo) and (FFrameActivo <> Value) then
  begin 
    FFrameActivo.Hide;
  end;
  FFrameActivo := VAlue;
  FFrameActivo.Show;
end;

Con este rollo, a partir de ahora solo tienes que hacer:
Código Delphi [-]
  FrameActivo := frame1;
y listo, se oculta el que se estaba viendo y se muestra el nuevo.

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: 05-04-2007 a las 12:40:03.
Responder Con Cita
  #3  
Antiguo 05-04-2007
Byfed Byfed is offline
Miembro
 
Registrado: oct 2006
Posts: 18
Poder: 0
Byfed Va por buen camino
Hola Lepe,

Gracias por tu respuesta, pero.. no es enrevesar demasiado las cosas?? No alcanzo a ver la ventaja de lo que propones.. aunque seguramente es porque no tengo conocimientos suficientes.

Aprovecho para ampliar mis horizontes y preguntarte por el código siguiente que has puesto en tu respuesta:

Código:
public
 FrameActivo :TFrame read FFrameActivo write SetFrameActivo;
Eso de "read" y "write" qué significa y para qué sirve?

Gracias de nuevo y un saludo.
Responder Con Cita
  #4  
Antiguo 05-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Me equivoqué en esa línea, debería decir:
Código Delphi [-]
property FrameActivo :TFrame read FFrameActivo write SetFrameActivo;

Eso significa que cuando vamos a leer (read) la propiedad FrameActivo, en realidad se lee la variable FFrameActivo, típico en este caso:
Código Delphi [-]
var r:TFrame;
begin
  r := FrameActivo;
end

Y cuando se va a escribir (write) en esa variable, Ejemplo:
Código Delphi [-]
FrameActivo := Frame1;
Se ejecutará el procedimiento SetFrameActivo, con lo cual, podemos realizar otras operaciones. Además, como ese procedimiento lleva un parámetro, podemos saber si FFrameActivo ya tenía asignado el Frame1, el Frame2, o cualquier otro.

En el código delphi anterior, el parámetro "Value" será el valor que queremos asignar, es decir "Frame1".

Fíjate que antes de mi mensaje, tú tendrías que hacer lo dicho por roman, 3 líneas de código:
Código Delphi [-]
  FrameActivo.Hide;
  FrameAMostrar.Show;
  FrameActivo := FrameAMostrar;

A partir de ahora, es sólo una línea de código:
Código Delphi [-]
  FrameActivo := Frame1;

Mira cualquier unidad de delphi con clases, y verás que trabaja así internamente, es decir, no estoy inventando nada nuevo .

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


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
Crear Procesos Hijos ---baja--- API de Windows 3 06-07-2006 20:07:47
Formulario MDI e Hijos chux OOP 7 07-12-2005 21:19:14
multiples hijos en un TTreeView bustio OOP 1 23-11-2005 09:42:03
Forms Hijos djj OOP 9 31-10-2004 02:16:27
...14 hijos... Jure Humor 0 18-08-2004 00:55:03


La franja horaria es GMT +2. Ahora son las 14:05:16.


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