Club Delphi  
    FTP   CCD     Enlaces   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

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 01-10-2010
Avatar de delphi
delphi delphi is offline
Miembro
 
Registrado: ago 2010
Ubicación: Centro América
Posts: 17
delphi Va por buen camino
Question Formularios con delphi

Buenas tardes, para comenzar comentarles que actualmente estoy usando el lenguaje object pascal en delphi, en esta oportunidad quiero solicitarles su ayuda ya que no entiendo muy bien como enlazar formularios, asi por ejemplo tengo un formulario madre y que este llame al formulario hijo, y asi llamandose ambos formularios por medio de botones y como saber en que parte va el código o lineas de código exacto para que ambos o varios formularios se llamen entre si, ya sea de manera local, privada, global, pública, como funciona todo eso, si me pueden mostrar ejemplos pues mucho mejor muchas gracias desde ya.
Responder Con Cita
  #2  
Antiguo 01-10-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: Concepcion-Chile
Posts: 653
cloayza Va por buen camino
Bueno a ver si me sale facil la explicacion:

Supongamos que creas un nuevo proyecto.

Este automaticamente te crea un formulario que pasaria a ser el formulario principal.

Si examinas el codigo del formulario deberias ver algo asi:
Código 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;

implementation

{$R *.dfm}

end.

Si agregas un nuevo formulario a tu proyecto:

Código Delphi [-]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.

Si ahora a tu formulario principal Form1, le agregas un boton y desde el evento de este boton llamas a Form2, esto quedaria asi (Fijate en el texto en negrita)

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton; //El boton que agrege al formulario principal
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses Unit2; //Se incluye la unidad que contiene el formulario a que deseo llamar.

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
     form2.show; //Llamo al formulario form2 de la unidad UNIT2.
end;

end.

Espero haber sido claro...

Saludos.
Responder Con Cita
  #3  
Antiguo 01-10-2010
Avatar de delphi
delphi delphi is offline
Miembro
 
Registrado: ago 2010
Ubicación: Centro América
Posts: 17
delphi Va por buen camino
Question

es justo lo que necesitaba, y sobre los identificadores y tipos en negrita que me quieres decir?
otra cosa aprovechando tu explicación, las formas de hacerlo: publicas, locales, globales, privada, cómo los utilizo en los formularios?

gracias!
Responder Con Cita
  #4  
Antiguo 01-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: Planeta Agua
Posts: 22.659
Casimiro Notevi Va camino a la fama
Hola, delphi, bienvenido a clubdelphi
Te aconsejo que leas nuestra guía de estilo, así podremos ayudarte mejor, muchas gracias.
Te recuerdo que en nuestra sección de FTP encontrarás información, libros, programas, utilidades, etc. Por ejemplo puedes encontrar el estupendo libro de Ian Marteens, "La cara oculta de delphi 4", que te servirá perfectamente para ir aprendiendo.
También tenemos la sección de trucos, está aquí.
En fin, una cantidad de información tremenda con la que tienes para llegar a ser todo un experto. Suerte.
__________________
/* Saludos
*/
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código

$ sudo mv system > /dev/null

Responder Con Cita
  #5  
Antiguo 01-10-2010
Avatar de delphi
delphi delphi is offline
Miembro
 
Registrado: ago 2010
Ubicación: Centro América
Posts: 17
delphi Va por buen camino
gracias, voy a dar un vistazo, saludos
Responder Con Cita
  #6  
Antiguo 01-10-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: Concepcion-Chile
Posts: 653
cloayza Va por buen camino
Thumbs up

Primero lo de las negritas es para que veas donde debes incluir la unidad que contiene el formulario que deseas invocar.

Bueno sobre las variables, hay vamos:

Suponiendo que estoy en el formulario principal

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
     privNumero_Entero:Integer;
     privNumero_Real:Real;
     privTexto:String;
     privLogico:Boolean;

  public
    { Public declarations }
     pubNumero_Entero:Integer;
     pubNumero_Real:Real;
     pubTexto:String;
     pubLogico:Boolean;
  end;

var
  Form1: TForm1;

  globalesNumero_Entero:Integer;
  globalesNumero_Real:Real;
  globalesTexto:String;
  globalesLogico:Boolean;

implementation

{$R *.dfm}

procedure TForm1.OnCreate(Sender: TObject);
begin
     //inicializando las variables...
     pubNumero_Entero:=100;
     pubNumero_Real   :=100.20;
     pubTexto:String   :='Cadena de texto';
     pubLogico:Boolean:=true; //puede ser true/false;
end;

end.

Las puedes definir de este modo.
1) Privadas, las cuales solo seran visibles en la unidad donde son declaradas.
2) Publicas, es decir se pueden accesar a ellas pero indicando el formulario al cual pertenecen.
3) Globales, puedes hacer referencia a ellas sin hace referencia al formulario.

Veremos el punto 2 y 3.

Suponiendo que ya estoy en Form2 y deseo acceder a las variables publicas (2) del formulatio principal (form1), debo hacerlo asi:

1) Debo incluir la unidad Unit1 en la Unit2, como?, Asi...

Código Delphi [-]
Unit2
...

implementation
uses Unit1;

Para hacer referencia a la variables debo hacer esto:

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
begin
       Showmessage( Format('Variable Publica del Form Principal %d',[form1.pubNumero_Entero]);//Aqui estoy haciendo referencia al formulario donde estan definidas las variables...
end;

procedure TForm2.Button2lick(Sender: TObject);
begin
       Showmessage( Format('Variable Global del Form Principal %d',[globalNumero_Entero]);//Aqui estoy haciendo a la variable global, como esta definida fuera de la definicion del form1, con solo incluir la unidad esta disponible.
end;

los prefijos pub, priv, global, no son necesarios es solo como ejemplo.

Chuuuuuuuu, me canse...

Bueno eso por ahora.

Saludos
Responder Con Cita
  #7  
Antiguo 01-10-2010
Avatar de delphi
delphi delphi is offline
Miembro
 
Registrado: ago 2010
Ubicación: Centro América
Posts: 17
delphi Va por buen camino
Thumbs up

Excelente cloayza, mejor explicado no puede estar, muchas gracias
Responder Con Cita
Respuesta


Herramientas
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
¿tiene Delphi 7 Diseñador De Formularios? CHALS Impresión 9 06-10-2010 20:45:40
¿Los formularios no se crean como una clase como en Delphi? noob C++ Builder 1 16-02-2009 01:36:22
formularios einarcito Varios 10 08-10-2008 15:49:38
formularios en delphi se cierran bubu32 Varios 3 03-09-2007 19:07:39
Utilizar Formularios Delphi en C++ Builder pmarin C++ Builder 1 04-06-2007 16:03:32


La franja horaria es GMT +2. Ahora son las 16:31:13.


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