Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Variable!! (https://www.clubdelphi.com/foros/showthread.php?t=31485)

jdattoli 09-05-2006 18:09:29

Variable!!
 
Hola amigos.

Una pregunta. tengo una base en access y realize una aplicacion para administrar mejor la base.

Mi busqueda la hago mediante un numero, quiero poner un boton que al darle click me aparezca informacion adicional de esa persona. Hay alguna manera de que al darle click me habra una segunda forma con la información que requiero a partir del numero que busque en la primer forma?

Creo que una variable me puede servir pero como y donde la declaro??, debería ser publica verdad?? y aprovechando, ¿que diferencias hay entre publicas y privadas??, lo que me serviría mucho , es una variable que pueda ocupar con TODAS las formas.

ocupo delphi 6
Gracias.

noshy 09-05-2006 18:24:40

Posible solucion
 
Creo entender lo que quieres hacer, a ver. Si los datos de la persona los tienes en un Query desde cualquier formulario o forma como le llamas, podras mostrarlo, por ejempo desde el form Datos

nombre.text := OtroForm.Query1['nombre'];

Y si no lo tiene en un Query lo puedes guardar en una variable (o array) y que sea publica
(Privada, la ves desde ese procedimiento unicamente)
(Publica, la ves desde cualquier procedimiento)

nombre.text := varray[n];

afxe 09-05-2006 19:01:55

No estoy seguro de entenderlo pero....
 
Según comentas, creo que quieres tener una variable global a la aplicación, que puedas cargar, ver o modificar desde cualquier formulario.... Si es así, prueba lo siguiente:

Create una Unit simple, sin form asociado. Declara en la zona Interface la variable que quieras usar. Algo así:

Código Delphi [-]
unit MisVariables;
 
interface
 
var
  GLOBAL_CodigoPersona: Integer;
 
implementation
 
end.

En todas las unides que crees, haz un uses de esta unidad (en el uses de la parte interface). Todos las unidades accederán a la misma variable... ten cuidado con el uso de variables globales, te pueden crear más de un dolor de cabeza.

Espero que te sirva.

Lepe 10-05-2006 10:10:04

Para ver un contacto, creamos una propiedad más en la ventana (como Left, Top, Width de la propia ventana), en este caso le llamo "Id".

Código Delphi [-]
TVerContacto = Class (TForm)
private
  Fid:Integer;
  procedure SetId(Value:Integer);
public 
  property  Id: Integer read FId write SetId;
end;

implementation

procedure TVerContacto.SetId(Value:Integer);
begin
  if Value <> FId then
  begin     
      FId := VAlue;
abrimos la consulta con el parámetro FId y mostramos los datos.
  end;
end;
Cuando se va a leer la propiedad Id se lee (read) el contenido de FId que es una variable privada.
Cuando se va a escribir en la propiedad Id (write) se ejecuta el procedimiento SetId, que es el que se encarga de abrir la consulta pasandole el Id del contacto que se quiere ver.

Para mostrar los contactos desde un boton:
Código Delphi [-]
   FrmVerContacto := TVerContacto.Create(application); // creamos la ventana
   FrmVerContacto.Id := << el id del contacto >>// asignamos el Id, esto hace que se ejectue "SetId" automáticamente y
                                                                   //se abra la consulta en el form TVerContacto
   FrmVerContacto.Show;// la mostramos

Esta es la forma de pasar valores de un Form a otro mediante propiedades.

Cada vez que se pulse el botón, automáticamente se mostrará los detalles del contacto.

Donde private hace que solo pueda ver esas variables las clases de la misma Unidad.

Public hace que se pueda usar desde cualquier Unidad.

Saludos


La franja horaria es GMT +2. Ahora son las 11:00:50.

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