![]() |
pasar valores de variables de un form a otro
me explico: form1 (principal) y form2 (relacionadas como about), en form 2 genero valores de variables a y b
como puedo pasar valores de variables de un form2 a form 1 y utilizarlas?? no soy experto y mas aún, ahora con delphi 2005 ando medio colgado.. saludos y muchisimas gracias. |
Hola,
Hay varias formas de conseguir lo que precisas. Puedes declarar las variables del "Form2" como variables públicas, de modo que estén accesibles desde "Form1". También puedes declarar dichas variables como propiedades de "TForm2", de manera que puedas acceder a las mismas, si es que las propiedades son públicas. Si no lo son, o no quieres que lo sean, siempre puedes emplear algún método público que sirviera para iniciarlizar las propiedades/variables correspondientes desde "Form1". No sé yo si te he resuelto algo o te dejo con más dudas... si las tienes ya sabes que puedes exponerlas por aquí para que alguien trate de echarte una mano. Un ejemplo utilizando propiedades públicas:
|
pasar valores de variables de un form a otro
david muchas gracias por tu ayuda..
Sabes no entendi como funcionan las propiedades de las variables fa y fb en unit2 y como relaciono eso con un valor (por ejemplo, que provenga de una casilla de texto) y no entiendo el procedimiento de unit1, que es frm y pq se crea?? que debe hacer en frm.A y frm.B ?? (que aparte no le lo reconoce como bueno en el script) quede bien mas colgado... sabes donde pueda quiza leer al respecto?? saludos y mucha gracias denuevo. |
Hola
Yo te lo diría de la siguiente forma: En la seccion var de el Form2, declaras las variables A y B. Luego desde el Form1 para accesarlas escribes: Unit2.A , Unit2.B. Claro que debes incluir la unit2 en el use de la Unit1. Suerte. |
pasar valores de variables de un form a otro
Hola, Miren coloco esto... y por mas que le doy vueltas, no me pasa el valor de editabout.text hacia editform1.text.. de hecho me borra el contenido original de editform1 y seria todo...
aca va el codigo:
Gracias por todo, de verdad se pasaron chiquilllos! |
Si lo hace, pero no recoges el valor:
El punto está que al ser modal, cuando se pulsa en el Button1 (que supongo será un TBitBtn y que devuelve mrOk) es donde se asigna a "A" el valor que debe retornar, por ello tienes que esperar a que se retorne mrOk o bien mrCancel. Antes de pulsar el botón, la propiedad "A" tendrá un valor indefinido (o por defecto). Saludos |
Heyy!! compadre diste en el clavo, funciona perfecto!! 1000 gracias!!!
Se los agradezco infinito, antes mis programas eran de 1 form y eran gigantes apareciendo y desapareciendo cosas..jaaj Gracias!!! |
Hola a todos denuevo, saben ahora necesito pasar del form1 al form2 y no me resulta. se me cae el programa por violacion de acceso de no se que cosa.
recordando. logre gracias a uds. pasar datos desde el form2 al form1(main) y ahora me gustaria poder hacer tambien lo contrario. aqui va el codigo: --------------------------FORM1 (main) unit MainProgramFPv1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Buttons, Mask, XPMan; type TForm1 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; GroupBox1: TGroupBox; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBEdit10: TDBEdit; DBEdit11: TDBEdit; DBEdit12: TDBEdit; GroupBox2: TGroupBox; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; DBEdit14: TDBEdit; DBEdit15: TDBEdit; DBEdit16: TDBEdit; DBEdit17: TDBEdit; DBGrid2: TDBGrid; DataSource2: TDataSource; ADOTable2: TADOTable; Label19: TLabel; DBEdit13: TDBEdit; Label26: TLabel; DBEdit19: TDBEdit; DBNavigator2: TDBNavigator; GroupBox4: TGroupBox; INGRESOS: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Isalario: TDBEdit; Idividendo: TDBEdit; Ibienrais: TDBEdit; Inegocio: TDBEdit; Iinteres: TDBEdit; Itotal: TDBEdit; BI1: TBitBtn; BI2: TBitBtn; BI3: TBitBtn; BI4: TBitBtn; BI5: TBitBtn; EGRESOS: TGroupBox; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label24: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit18: TDBEdit; BE1: TBitBtn; BE2: TBitBtn; BE3: TBitBtn; BE4: TBitBtn; BE5: TBitBtn; BE6: TBitBtn; BE7: TBitBtn; GroupBox3: TGroupBox; DataSource1: TDataSource; ADOTable1: TADOTable; XPManifest1: TXPManifest; Label25: TLabel; DBEdit20: TDBEdit; BA1: TBitBtn; BA2: TBitBtn; BA3: TBitBtn; BA4: TBitBtn; BO1: TBitBtn; BO2: TBitBtn; BO3: TBitBtn; BO4: TBitBtn; BO5: TBitBtn; BO6: TBitBtn; BO7: TBitBtn; Edit1form1: TEdit; DBNavigator3: TDBNavigator; DBComboBox1: TDBComboBox; Label27: TLabel; procedure BI1Click(Sender: TObject); procedure BI2Click(Sender: TObject); private { Private declarations } Fc, Fd: Integer; public { Public declarations } Property C: Integer Read Fc Write Fc; Property D: Integer Read Fd Write Fd; end; var Form1: TForm1; A,B: String; implementation {$R *.dfm} uses ventana1; procedure TForm1.BI1Click(Sender: TObject); begin Form1.C:=1; // boton 1 if Form2.ShowModal=mrok then edit1form1.Text:=Form2.A; end; end. --------------------------------FORM 2 unit ventana1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, DB, ADODB, Mask, DBCtrls; type TForm2 = class(TForm) Edit1form2: TEdit; BitBtn1: TBitBtn; Gsalarios: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBEdit10: TDBEdit; DataSource1: TDataSource; ADOTable1: TADOTable; Label11: TLabel; DBEdit11: TDBEdit; Gdividendo: TGroupBox; procedure BitBtn1Click(Sender: TObject); private { Private declarations } Fa, Fb: String; public { Public declarations } Property A: String Read Fa Write Fa; Property B: String Read Fb Write Fb; end; var Form2: TForm2; C,D: Integer; implementation uses MainProgramFPv1; {$R *.dfm} procedure TForm2.BitBtn1Click(Sender: TObject); begin A:=Edit1form2.Text; end; begin if Form1.C = 1 then // aqui me muestra el error de excepcion nose que.. y se muere// Form2.label2.Visible := true; end. -------------------------- Gracias Oscar. |
La franja horaria es GMT +2. Ahora son las 03:26:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi