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 13-03-2004
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Question Arreglo de componentes

Hola a todos les esplico un poco, uso delphi 6 y tengo una base de datos en acces a la cual me conecto usando ADO, esta base es para una fabrica textil, tengo una tabla donde hay un registro por cada orden de venta, prenda, cliente, talla y la cantidad que hay que hacer por cada talla. para efectos de un reporte tengo una consulta de agrupación de esta tabla en la cual tengo como resultado 1 campo fijo que es el tipo de prenda ademas de n campos por cada talla de la prenda con la cantidad corespondiente:

Ejemplo de la tabla

Orden claveprenda clavecliente talla cantidad
1 qwe123 8 M 45
2 qwe123 8 S 25
3 dfg12 7 M 15
4 qwe123 4 S 25

Ejemplo resultado de la consulta

claveprenda M S
qwe123 45 50
dfg12 15 0

Pero si tuviera

claveprenda clavecliente talla cantidad
qwe123 8 7 45
dfg12 8 7 15

tendria como resultado de la consulta

claveprenda 7
qwe123 45
dfg12 15

como podran ver en mi consulta tengo como resultado solo un campo fijo y uno o mas campos que pueden variar tanto el numero de estos como su nombre segun las tallas. Ahora bien la fabrica maneja hasta 25 tallas diferentes estoy haciendo un reporte con qreport en el cual pongo 25 qrlabel para los nombres de columnas y 25 QRDBText para el valor del campo, pero como el unico campo que nunca cambia es claveprenda a los QRDBText no les puedo asignar la propiedad datfield en tiempo de diseño ya que puede que cuando ejecute la consulta este campo no exista o este en diferente posición (lo cual no seria tan problematico).

Problema:

Lo que quiero hacer es un arreglo con los QRLabel y otro con QRDBText para así con un ciclo (for o while) poderles asignar a la propiedad caption y datafiel respectivamente el valor necesario y a los restantes poner la propiedad visible en false en tiempo de ejecución.

hojala alguien me pueda orientar de como hacer esto o de plano decirme si fume algo raro y esto no se puede , lo tendria que hacer con un if para cada componente.

gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita
  #2  
Antiguo 13-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Podes valerte del método FindComponent.

Código:
for i := 1 to MaxTallas do
Begin
  (FindComponent('qrlTitulo' + inttostr(i)) as TQrLabel).Caption := Talla[i];
  (FindComponent('qrdbText' + intToStr(i)) as TQrdbText).DataField := 'Talla' + inttostr(i);
End;
Hasta luego.

Responder Con Cita
  #3  
Antiguo 13-03-2004
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Smile

Eso es todo jachguate (my master) gracias me has ahorrado muchas lineas de código
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
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


La franja horaria es GMT +2. Ahora son las 20:29:56.


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