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 29-12-2010
guly guly is offline
Registrado
NULL
 
Registrado: dic 2010
Posts: 4
Poder: 0
guly Va por buen camino
muchachos and muchachas ayuda por favor..

antes que nada me presento me llamo gaston tengo 67 años y trabajo en el area de computos de la municipalidad de miramar...
estoy empezando a ver delphi para un proyecto... les comento que programo en perl, php, html...

mi pregunta es hacias ustedes estoy haciendo un codigo que lo que quiero que haga es que me cambia el color de un boton lmd button segun compare la fecha, mi problema es que los botonoes se llamas del c1 al c78 y luego comienzan c1b a c15b y luego siguen del c62b al c73b..
un enrosque pense este codigo mi problema es que funciona si le escribo el boton

c1.color:=clyellow;
por ejemplo si anda pero no se como hacer para rotarlo...
les paso el codigo estoy abiertoa cualquier consulta ya que de preguntar se aprende... saludos

Código Delphi [-]
procedure Tformcc.FormCreate(Sender: TObject);
var
   num:integer;
   carpa,nume:string;
   hoy,compara:tdate;
   fecha1,fecha2:string;
begin
      //muestro la fecha actual dd/mm/yyyy
      hoy:=date();
      fecha1:=datetostr(hoy);
      //showmessage(fecha1) ;
       /////////
       num:=1;
     while mytablerevisa.eof <> true do
      begin
       nume:=inttostr(num);
       carpa:=('c'+nume);
       compara := MyTablerevisa.FieldByName('fecha_fin').asdatetime;
       fecha2 := datetostr(compara);
           if fecha1 <> fecha2 then
             begin
             //showmessage('Son distintos    '+ fecha1 +' <> '+ fecha2);
            //carpa es una concatenacion de texto que termina escribiendome el nombre del boton y rotando pero no anda!!!! 
            (carpa).Color:=cllime;
             mytablerevisa.Next;
             end
           else
             begin

            // showmessage('Son iguales    '+ fecha1 +' = '+ fecha2);
             (carpa).Color:=clyellow;
             mytablerevisa.Next;
             end


            num:=num+1;


      end
end;


me falta saber como hacerlo girar en tre todos los botones... saludos

Última edición por Casimiro Notevi fecha: 29-12-2010 a las 16:40:09. Razón: Poner etiquetas [delphi] el código [/delphi]
Responder Con Cita
  #2  
Antiguo 29-12-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
1-Veo que sacas la fecha de una tabla, pero no veo donde la abres.
2-Veo que haces el recorrido de la variable nume, sin embargo no la veo relacionada al boton, que en este caso es un componente.
En otras palabras, este codigo no puede hacer lo que requieres, se necesita recorrer los componentes para que se haga la comparacion y el cambio de color, que creo solo sera de la letra, no del boton.
Para mi seria mejor usar un panel o un boton dentro del panel, para el efecto que quieres.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 29-12-2010
guly guly is offline
Registrado
NULL
 
Registrado: dic 2010
Posts: 4
Poder: 0
guly Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
1-Veo que sacas la fecha de una tabla, pero no veo donde la abres.
2-Veo que haces el recorrido de la variable nume, sin embargo no la veo relacionada al boton, que en este caso es un componente.
En otras palabras, este codigo no puede hacer lo que requieres, se necesita recorrer los componentes para que se haga la comparacion y el cambio de color, que creo solo sera de la letra, no del boton.
Para mi seria mejor usar un panel o un boton dentro del panel, para el efecto que quieres.
Saludos
1-la fecha la tome del sistema... tengo un datetimepicker ocuto y tomo la fecha de hoy ahi esta aclarado esa parte...
2-esa parte como hago para relacionar la variable al boton, mi idea es que cuando pongo
carpa.color:=clyellow;

lo que quiero reemplazar con la variable carpa es el nombre del lmdbutton...

pero no se me ocurre como reemplazarlar yo en php y perl concateno propiedades y cuando compilo me lo toma como si fuera por ejemlo c1,c2,c3,c4,etc.....

no se si me llego a explicar......

los componentes lmdbutton tienen la propiedad de cambiar el color del boton los botones comunes son los que no los tienen..

saludos
Responder Con Cita
  #4  
Antiguo 29-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.084
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, por favor, lee nuestra guía de estilo, muchas gracias por tu colaboración... y no repitas temas
Responder Con Cita
  #5  
Antiguo 29-12-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo.
La concatenacion esta bien, pero no entiendo que hace mytablerevisa, si no es sacar la fecha de una tabla, no lo entiendo.
Para mi se necesita recorrer los componentes (botones) y ahi hacer que cambien segun una condicion, que en este caso me da la impresion de que es si la fecha es diferente que la del sistema.
Bueno, no entiendo, seguro alguien mas lo entendera no te preocupes.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 29-12-2010
guly guly is offline
Registrado
NULL
 
Registrado: dic 2010
Posts: 4
Poder: 0
guly Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
No entiendo.
La concatenacion esta bien, pero no entiendo que hace mytablerevisa, si no es sacar la fecha de una tabla, no lo entiendo.
Para mi se necesita recorrer los componentes (botones) y ahi hacer que cambien segun una condicion, que en este caso me da la impresion de que es si la fecha es diferente que la del sistema.
Bueno, no entiendo, seguro alguien mas lo entendera no te preocupes.
Saludos
disculpen si no me di a entender es un sistema de alquiler de carpas en la cual cada boton es una carpa y yo quiero que si la carpa esta alquilada me ponga el boton de un color y sino de otro...
mytable revisa es una llamada a una tabla de la base de datos en la cual ya previamente se alquilo algo y tiene un campo fecha_inicio y fecha _fin, lo que me interesaria a mi es que esa fecha_fin compararla con la del sistema, es decir la de hoy, y de ahi recorrer los botones y ir cambiandoles el color segun sea necesario

saludos...
Responder Con Cita
  #7  
Antiguo 29-12-2010
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.325
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
Por lo que yo he entendido en la variable carpa tienes el nombre del botón al que deseas cambiarle el color (o cualquier otra propiedad). E intentas hacer una cosa como esta para cambiarle el nombre:

Código Delphi [-]
(carpa).Color:=cllime;
En delphi esto no funciona, pero sí se puede hacer; Basta con utilizar la función FindComponent, que te permite acceder a un componente a partir de su nombre; Por ejemplo, si estás utilizando un TPanel sería:

Código Delphi [-]
var
   pnl:TPanel;
   carpa:string;
   cmp:TComponent;
...
begin
   // supongamos que en carpa está el nombre.
   cmp := FindComponent(carpa);
   // Está Asignado?  (significa que lo ha encontrado)
   if Assigned(cmp) then begin
      pnl := Tpanel(cmp);
      pnl.color := clYellow;
   end;

Te lo he hecho paso a paso para que veas claras las operaciones; Si en lugar de un Tpanel es un TEdit se hace similar; Basta con cambiar el componente por otro de otro tipo.

En tu caso podría ser:

Código Delphi [-]
// en lugar de:
(carpa).Color:=cllime; 
// sería (dependiendo del componente que estés usando)
TEdit(FindComponent(carpa)).Color := clLime;
TLabel(FindComponent(carpa)).Color := clLime;
TButoon(FindComponent(carpa)).Color := clLime;
TPanel(FindComponent(carpa)).Color := clLime;

Si buscas en los foros sobre Findcomponent encontrarás muchos más ejemplos.
__________________
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
  #8  
Antiguo 30-12-2010
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 22
Aleca Va por buen camino
Por las dudas, ojo que si usas un TButton no tiene la propiedad Color.
__________________
Aleca
Responder Con Cita
  #9  
Antiguo 31-12-2010
guly guly is offline
Registrado
NULL
 
Registrado: dic 2010
Posts: 4
Poder: 0
guly Va por buen camino
gracias a todos ya lo aregle el lmd button no tenia esa funcion FindComponent asi que lo aregle con varias consultas individuales, desde ya muchas gracias y disculpen las molestias y gracias por las ideas seguro me iran surguiendo un par mas saludos desde miramar
Responder Con Cita
  #10  
Antiguo 31-12-2010
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.325
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
FindComponent no pertenece a ningun componente. Es una función de Delphi a la cual le pasas como parámetro una cadena y busca entre los componentes existentes si hay alguno con ese nombre.
__________________
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
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
ayuda por favor!!! calistian Conexión con bases de datos 11 10-06-2008 16:32:58
Ayuda por favor lachooo Firebird e Interbase 3 18-10-2006 18:13:21
Ayuda por favor jcarteagaf Varios 5 27-06-2006 12:27:13
ayuda por favor ^^ ... CrystalBlood SQL 1 19-01-2006 20:15:17


La franja horaria es GMT +2. Ahora son las 23:15:29.


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