Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
variable super general

hola amigos....

ocurre lo siguiente...

tengo un programa con varias form (15)... buscando en otros hilos averigue que existen varibles generales, pero que solo son reconocidas dentro de un mismo form... por ejemplo variable X, definida para el form 1... lo que quiero hacer es que este disponible esa misma varibles, con el mismo valor, pero en otra form... form 2, form 3, etc

¿Existen variables super generales, que atravieses en concepto del FORM??

muchas gracias

Saludos
Responder Con Cita
  #2  
Antiguo 11-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Basta con que la declares pública en cualquiera de los forms, aunque lo más lógico sería que la declararas pública en el form principal.

Y después puedes acceder en cualquiera de los forms a esa variable simplemente poniendo el nombre del form delante en la cual se declaró.

Por ejemplo MainForm.NombreVariable := Loquesea, o Loquesea := MainForm.NombreVariable

No se te debe olvidar incluir el form principal (o del cual quieres compartir variables públicas), en la cláusula Uses del form desde el cual vayas a acceder a esas variables públicas.

Saludos,
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 11-05-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Talking Incluir otros formularios..

Hola..

Mira lo que yo hago es declarar variables,funciones y procedimientos en un TDataModule, y despues para utilizar estas variables, funciones y procedimientos en todos los formularios que se necesite, solo incluyo la Unit del TModulo en el formualrio que deseo utilizar las variables, funciones y procedimientos. Para esto debes ir al menu Archivo(File)/Uses Unit... Es la forma que conosco, espero que te sirva..
Responder Con Cita
  #4  
Antiguo 11-05-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Un ejemplo:

Código Delphi [-]
//Este es el esqueleto que genera delphi
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  //AQUI Declara tu variable global del tipo que necesites. p.e.
  varGlobal: integer;
  
implementation
 
{$R *.dfm}
 
end.

Espero te sirva.
Responder Con Cita
  #5  
Antiguo 11-05-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Solo quiero recalcar que tampoco es necesario contar cun un form para mantener variables públicas y globales. Basta con indicar declarar una unit con un nombre descriptivo (por falta de imaginación: UGlobales). Entonces cada unit (no nocesariamente correspondiente a algun form) que deba tener acceso a estas variables debe tener incorporado dentro de uses el nombre de UGlobales.

Algo como:

Código Delphi [-]
unit UGlobales;
 
interface
 
uses
// los que hagan falta

type
 // los tipos de datos que sean necesarios...

var
 // variables públicas
 variable1: tipo_dato;
 variable2: tipo_dato;

implementation


end.

La idea del datamodule es buena, si se emplean base de datos...
Si no se requieren de BD, es un desperdicio emplear el Datamodule
Allí, creo, que sería mejor considerar una unidad UGlobales.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 11-05-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Estoy totalmente de acuerdo con Delphius. De hecho, así están implementadas las famosas variables globales Application y Screen dentro de la unit Forms. Por esa razón, estas variables están siempre disponibles en todos los formularios de nuestros programa.

Código Delphi [-]
Unit Forms;

{ Global objects }

var
  Application: TApplication;
  Screen: TScreen;

Intenta quitar del uses de tu proyecto (*.dpr) la llamada a la unit Forms y verás el resultado

Código Delphi [-]
program Project1;

uses
  //Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Saludos
Responder Con Cita
Respuesta



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
Busqueda General con Like?? anghell77 SQL 6 15-05-2006 13:44:32
Titulo General a un Grid JorgeBec Varios 1 28-11-2005 23:37:41
busqueda general majosf Conexión con bases de datos 1 21-09-2005 11:20:54
stock general ELINK SQL 5 29-03-2005 17:58:00
General SQL Error ander SQL 3 09-09-2004 16:05:07


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


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
Copyright 1996-2007 Club Delphi