Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Capturar los valores de Edit credos en tiempo real (https://www.clubdelphi.com/foros/showthread.php?t=76846)

omarodalis 30-11-2011 18:53:28

Capturar los valores de Edit credos en tiempo real
 
hola a todos.. aki estoy con otra duda.... estoy creando en tiempo de ejecucion un numero aleatorio de edits pero nosé como capturar sus valores al hacer clic en un button...

aki mi codigo para crea los edits en tiempo de ejecucion...
Código:

void __fastcall TForm1::CrearEdits(int Cant)
{

        for(int i=0;i < Cant; i++)
        {
                TE1 = new TEdit(this);
                TE1->Left = 10;  //lado izquierdo
                TE1->Height = 50; //abajo
                TE1->Width = 75;  //largo Edit
                TE1->Top = i*30 + TE1->Height;
                TE1->Name = "variable" + IntToStr(i+1);
                TE1->Parent = this;    // o InsertControl(TE);
        }
}

si saben como capturar los valores de los Edits creado en tiempo de ejecucion les agradezco de antemano su ayuda... muchas gracias... saludos:confused:

ecfisa 30-11-2011 19:15:18

Hola omaroladis.

Una forma es usando la funcion FindComponent. Por ejemplo tomando tu código, para cambiar la propiedad Text del Edit cuyo nombre es variable5 sería:
Código:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 TEdit *Ed = static_cast<TEdit*>(FindComponent("variable5"));
 AnsiString s = Ed->Text;
 s = s + " Nuevo Texto";
 Ed->Text = s;
}

En forma directa:
Código:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Caption = IntToStr(((TEdit*)FindComponent("variable5"))->Width);
}

Claro que para que funcione, le tenés que haber asignado un valor a la propiedad Name del TEdit previamente creado. (tál como en el código que pusiste).

Un saludo. :)

omarodalis 30-11-2011 19:44:59

Solucionado
 
bueno después de unos minutos de haber publicado mi duda obtuve la respuesta gracias ecfisa... aquí el código para capturar los datos de los Edits creados en tiempo de ejecución..
Código:

TEdit *TE1;
TEdit *TE2;
String cantidad;
//---------------------------------------------------------------------------

void __fastcall TForm1::CrearEdits(int Cant)            ///método para crear los edits
{

        for(int i=0;i < Cant; i++)
        {
                TE1 = new TEdit(this);
                TE1->Left = 10;  //lado izquierdo
                TE1->Height = 50; //abajo
                TE1->Width = 75;  //largo Edit
                TE1->Top = i*30 + TE1->Height;
                TE1->Name = "variable" + IntToStr(i+1);
                TE1->Parent = this;    // o InsertControl(TE);
        }
       
}
//-----------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)///obtener del usuario cuantos edits creamos
{

        bool respuesta;
        respuesta = InputQuery("Cantidad ","Numero de variables", cantidad);
        if(respuesta == True)
        {
                CrearEdits(cantidad.ToInt());                ///llamamos el metodo que nos crea los edits
    }
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        for (int i = 1; i < cantidad.ToInt()+1; i++)
        {
        String text=((TEdit*)FindComponent("variable"+IntToStr(i)))->Text;  ///// Capturamos los valores introducidos en los edits por el usuario
        }
}

///un total agradecimiento a ecfisa.. muchas gracias por la ayuda que dios te bendiga.. saludos a todos..


La franja horaria es GMT +2. Ahora son las 13:57:30.

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