Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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-05-2007
noseii noseii is offline
Registrado
 
Registrado: may 2007
Posts: 3
Poder: 0
noseii Va por buen camino
Asignacion multiple a varios componentes

Buenos dias, estoy haciendo un pequeño programa que controla los datos desde un dispositivo exterior conectado por usb, este aparato tiene una dll con una funcion que me devuelve en una tabla los niveles de los datos recogidos, unos 500 niveles mas o menos, de los valores de la tabla se los paso un componente progessbar para mostrar los niveles. Esta asignación de momento la estopa haciendo de la siguiente manera:
progressbar1.position := tabla_niveles[0];
progressbar2.position := tabla_niveles[1];
.
.
.
progressbar512.position := tabla_niveles[511];

Pero esto me parece un poco chapuza, alguna vez he hecho que varios botones hagan la misma funcion y dependiendo que boton pulsaras cambiar identificarlo.
Alguien me podria decir como podria hacer esto de una forma mas elegante.

muchas gracias a todos por vuestra ayuda.
Responder Con Cita
  #2  
Antiguo 02-05-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola,

antetodo, bienvenido al clubdelphi.

¿¿Estas usando 500 progressbar en tu form para mostrar los niveles??
¿No sería más fácil usar un componente TChart, es decir un gráfico de barras para mostrar todos esos valores?
Creo recordar que no es muy difícil usarlo y además con muchas opciones de personalización e integración con base de datos desde la paleta DBControls.

Si aún así deseas usar las progresbar, puedes probar de usar una matriz de componentes, si buscas por los terminos "matriz" y "componentes" encontrarás no pocos hilos al respecto.

Saludos
Responder Con Cita
  #3  
Antiguo 02-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No he entendido bien como muestras los datos, pero seguro que hay una forma más sencilla y eficiente de mostrar esoss datos que con 500 controles.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 02-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Idependientemente de la cantidad de bits que reciba la aplicacion, creo que deberias hacerlo por muestreo aprovechando al maximo la dll. Sobre 512 mediciones, tendrias que hacer un bucle y directamente llenar alguna tabla con los valores. Se puede preguntar de que es? Pareciera ser el resultado de un conversor AD, o varios.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #5  
Antiguo 02-05-2007
noseii noseii is offline
Registrado
 
Registrado: may 2007
Posts: 3
Poder: 0
noseii Va por buen camino
gracias por vuestras respuestas, haber si puedo explicarme bien, a lo que comenta Bicho, seria una solucion pero a cada barra de progreso va a sociado un componente trackbar para ajustar los niveles, que a parte de recibir datos tambien los envio. por eso el tchart no lo veo un opcion para mostrar tanto dato. Pero aun asi muchas gracias por tu ayuda. En respuesta a Neftali, imaginate una mesa de sonido con los vumeters de indicacion de nivel, mas o menos ese efecto es el que busco. y con respecto a la respuesta de Manu, claro que te puedo decir para que es, el programa es para el control y manejo de luces para discotecas conciertos, etc, Esto funciona bajo el protocolo DMX-512, y como el nombre inbdica es un protocolo que utliza 512 canales de envio de informacion, mandando un valor de nivel entre 0 y 255. El tema de la dll es del fabricante del conversor de usb a dmx y esta compuesta de una unica fuincion y varios parametros, con el parametro de recepcion de datos pasa los niveles de los 512 canales a un tabla de tipo char de 515 filas. La opcion del blucle me parece bien pero para el envio, en la recepcion es donde tengo el problema al mostrar esa información al usuario.

Muchas gracias por toda vuestra ayuda
Responder Con Cita
  #6  
Antiguo 02-05-2007
noseii noseii is offline
Registrado
 
Registrado: may 2007
Posts: 3
Poder: 0
noseii Va por buen camino
Smile

Creo que ya he encontrado la solucion, gracias bicho por indicarme lo que tenia que buscar , he busca en el foro por matriz y componetes y he encontrado varias cosas,e encuanto llege a la oficina las pruebo y ya dire

muchas gracias a todos.
Responder Con Cita
  #7  
Antiguo 02-05-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola,

entendí que sólo querías mostrar unos datos y no manipularlos y por tanto modificarlos. Al creer esto lo primero que me vino a la cabeza era un gráfico, muy sencillo y fácil de usar para este caso.
Pero tambien había la parte de código que diste:

Código Delphi [-]
progressbar1.position := tabla_niveles[0];
progressbar2.position := tabla_niveles[1];
.
.
.
progressbar512.position := tabla_niveles[511];

Para hacer eso está claro que hay que usar una matriz de componentes. Y te será muy cómodo usarlo para mostrar todos los componentes progressbar y los trackbar para definir los valores de entrada.
Quizá si hubieras indicado ésto último desde un principio mi respuesta y la de los demás hubiera sido otra, ya que he notado por las respuestas de los demás que no había queda muy claro lo que pretendías.

Me alegro que te haya servido.

Saludos
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
varios componentes seriales en una misma aplicación kanyrosana Varios 2 19-03-2007 23:43:53
nombrar a varios componentes Cosgaya Varios 2 21-11-2005 15:19:05
Como cambiar una propiedad en varios componentes a la vez!! ilichhernandez OOP 2 13-11-2005 22:16:51
error en asignacion de campos en un dbgrid con seleccion multiple ElSanto24 Varios 1 05-01-2004 17:12:27
Menejar un TypeCast con varios componentes CORBATIN Varios 9 21-09-2003 12:32:42


La franja horaria es GMT +2. Ahora son las 00:22:49.


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