Club Delphi  
    FTP   CCD     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 Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2004
atirado atirado is offline
Miembro
NULL
 
Registrado: mar 2004
Posts: 41
Poder: 0
atirado Va por buen camino
Question Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera

Hola a tod@s! Como el título lo dice, estoy desarrollando una aplicación en la cual utilizo un StringGrid, el cual dentro de
una serie de celdas tiene un TEdit que se crea en tiempo de ejecución, de la siguiente forma:
Código:
procedure TForma1.PonerEdits;
var
   fila : integer;
   edtValValor : TIWEdit;
begin
   With grdLista do
   begin
	  For fila := 1 to (RowCount-1) do
	  begin
		  edtValValor	  := TIWEdit.Create(Self);
		  edtValValor.Name := 'edtValorGrid'+IntToStr(fila);
		  edtValValor.Text := '';
		  edtValValor.Tag  := Fila;
		  Cell[Fila,ColumnCount-3].Text	:= '';
		  Cell[Fila,ColumnCount-3].Control := edtValValor;
	  end;
   end;
end;
Sin embargo, necesito guardar los valores que hay en las celdas por medio de un ciclo del tipo
Código:
For fila := 1 to grdLista.RowCount-1 do
  DataModule.tblTabla1Campo1.Value := grdLista.Cell[Fila,ColumnCount-3].Text;
  DataModule.tblTabla1Campo2.Value := grdLista.Cell[Fila,ColumnCount-2].Text;
  //etc...
  {Pero aquí es donde está lo bueno, porque en una de esas celdas, tengo un TEdit, el cual deberá mandar el valor que tiene 
dentro a la tabla, algo así como: }
  DataModule.tblTabla1Campo2.Value := Valor_que_Tiene_edtValValor_En_Su_Propiedad_Text;
end;
De ahí mi problema, ya que no encuentro la manera de hacer referencia a ese TEdit que está dentro de la celda. Intenté hacerlo de la forma:
Código:
var
  edtValue : TIWEdit;
begin
   edtValue.Create(Self);
   edtValue.Visible := False;
   edtValue := Cell[Fila,ColumnCount-3].Control
   DataModule.tblTabla1Campo3.Value := edtValue.Text;
end;
Sin embargo, obtengo un error que me indica que TEdit y TControl son incompatibles.
Si notan, estoy usando IntraWeb 7.0 para Delphi 7.0., de ahí que el TEdit aparezca como TIWEdit...

Agradezco de antemano su ayuda
Un saludo desde México
Alejandro
Responder Con Cita
  #2  
Antiguo 02-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
Creo que vas por buen camino, pero no hace falta crear otra instancia de TIWEdit.

Simplemente un cast seguro.

Código Delphi [-]
Var
  edtValue : TIWEdit;

Begin
  For fila := 1 to grdLista.RowCount-1 do
    With grdLista do
      if assigned(cell[fila, ColumnCount-3].Control) Then
        DataModule.tblTabla1Campo3.Value := 
          (Cell[fila, ColumnCount - 3].Control as TIWEdit).Text;
      else
        DataModle.tblTabla1Campo3.Clear;
end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 02-09-2004
atirado atirado is offline
Miembro
NULL
 
Registrado: mar 2004
Posts: 41
Poder: 0
atirado Va por buen camino
Talking

Mi estimado jachguate, me acabas de salvar la vida . En efecto, tal como lo comentaste, no era necesario crear una nueva instancia de TIWEdit, solamente verificar que estuviera asignada; era justo según tu ejemplo.

Gracias de nuevo por lo pronto y acertado de tu respuesta

un abrazo desde México
Alejandro
Responder Con Cita
  #4  
Antiguo 03-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
¿Te mando la dirección donde recibo los jamones, chelas y todo tipo de regalos?

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 11-09-2004
atirado atirado is offline
Miembro
NULL
 
Registrado: mar 2004
Posts: 41
Poder: 0
atirado Va por buen camino
Talking

No me lo vas a creer, mi estimado jachguate, pero precisamente el mensaje que mandaste donde solicitas chelas y jamones, no aparece en mi PC, no se por qué , jejejeje

Saludos desde MX
Alejandro
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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


La franja horaria es GMT +2. Ahora son las 03:45:33.


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