Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2007
Avatar de CottonMouth
CottonMouth CottonMouth is offline
Miembro
 
Registrado: jun 2007
Posts: 18
Poder: 0
CottonMouth Va por buen camino
Queria agregar donde declare el array para los que estan igual que yo:

public
{ Public declarations }
Edit:array[1..6]of TEdit;
Campo:array[1..6] of TLabel;

Besotes!!
luly
Responder Con Cita
  #2  
Antiguo 02-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Cita:
Empezado por CottonMouth
public
{ Public declarations }
Edit:array[1..6]of TEdit;
Campo:array[1..6] of TLabel;
El TLabel no tiene una propiedad DataSource , deberías cambiar tu declaración del array campo por :
Campo:array[1..6] of TDBText;

Porque además cuando lo creas igualas un TLabel a un TDBText:

Campo[i]:=TDBText.Create(Self);

Y como recomendación de OOP:

NO declares variables en la parte publica de tu forma; declarala en la parte privada, si necesitas que sean accesados desde otra unidad entonces usa propiedades;
Responder Con Cita
  #3  
Antiguo 02-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Fields

En cuando al nombre de los campos puedes usar el procedimiento de los DataSet GetFieldNames();

el cual recibe como parámetro un TStringList;


y en los items del stringlist tendrías los nombres de los campos accesibles con su indice:

Campos[i].Caption:=StringList[i-1];//i-1 porque el indice del primer elemento es 0 y tu manejas un array basado en 1
Responder Con Cita
  #4  
Antiguo 03-07-2007
Avatar de CottonMouth
CottonMouth CottonMouth is offline
Miembro
 
Registrado: jun 2007
Posts: 18
Poder: 0
CottonMouth Va por buen camino
Question

gabielkc : perdona mi gran ignorancia pero no me quedo claro del todo como usar el procedimiento que me señalaste podrias enseñarmelo y como le paso los datos al stringlist, gracias igual por dedicarme tu tiempo!
Besos. Luly
Responder Con Cita
  #5  
Antiguo 03-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Campos

function ObtieneCampo(n:Integer):string;
var Lista:TStringList;
begin
Lista:=TStringList.Create;
Tabla1.GetFieldNames(Lista);
Result:=Lista[n];
Lista.Free;
end;


Ese sería basicamente el procedimiento para obtener el nombre de un campo cualquiera, no se te olvide que tu for inicia en 1 y el índice el TStringList inicia en 0, osea en tu caso lo llamarías mas o menos así:

Campos[i].Caption:=ObtieneCampo(i-1); ///campos quedaría declarada como un array de TLabel;

y la creación sería:

Campos[i]:=TLabel.Create;


Si quieres usar TDBText solo con especificar el campo al que quieres asociarlo es suficiente:

Campos[i].DataField:=Tabla1.Fields[i-1];
Responder Con Cita
  #6  
Antiguo 03-07-2007
Avatar de CottonMouth
CottonMouth CottonMouth is offline
Miembro
 
Registrado: jun 2007
Posts: 18
Poder: 0
CottonMouth Va por buen camino
Smile Genial!!

Gracias gabrielkc sos un genio!
no me salio usando un TDBText me marca el siguiente error:
Incompatible types: String and TField obviamente se me escapo algo.
Tal vez vos sabes porque.Pero bueno el otro procedimiento anda perfecto y aprendi algo nuevo. Gracias!!! Besotes y gracias por tu tiempo.
luly
Responder Con Cita
  #7  
Antiguo 03-07-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
¿No puedes usar una rejilla para ese propósito? suele ser más cómodo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Agregar Nombre a las columnas de Un DBgrid en Timpo de Ejecucion mgaray Varios 5 22-06-2018 03:19:41
Mostrar nombre de campos y filtar nombre de tablas .db en un combobox Coco_jac Varios 1 24-06-2006 01:34:29
Agregar campos de registro en la interface javitocarrasco Conexión con bases de datos 4 05-05-2006 13:14:37
agregar campos en combobox @-Soft Conexión con bases de datos 4 24-02-2004 13:00:23
¿Cómo trabajar con los campos con array? jncrls Firebird e Interbase 1 13-11-2003 23:23:35


La franja horaria es GMT +2. Ahora son las 08:56:52.


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