Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2008
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Se ocurren dos ideas que pueden quedar bien:

1. Seguir con el estilo de manejarlo con vectores haciendo igual como hizo Caral en el ejemplo 2. Y luego le asignas ese color al led seleccionado. Quedaria algo asi:

Código Delphi [-]
if i = posicion then Leds[i].Brush.Color := LedsColor[i]
               else Leds[i].Brush.Color := clGray; // o puedes definir una constante global de tu programa para este color

2. La otra opcion es definir tu propia clase TLed basada en TShape ya con la forma por defecto y le agregas dos propiedades: OnColor y OffColor.
Luego defines dos metodos: TurnOn, TurnOff para prender y apagar el led.

y te quedaria asi:

Código Delphi [-]
if i = posicion then Leds[i].TurnOn
                else Leds[i].TurnOff;

Saludos
__________________
[Crandel]

Última edición por Crandel fecha: 16-06-2008 a las 07:58:47.
Responder Con Cita
  #2  
Antiguo 16-06-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Yo haría esto:

Código Delphi [-]
var
  Form1: TForm1;
  Arreglo: Array [0..7] of Integer = (1,1,1,1,0,0,0,0);


procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i: integer;
begin
  for i := 7 downto 0 do begin
      with TShape(components[i]).Brush do begin
         case Arreglo[i] of
             0: color := clRed;
             1: color := clGreen;
         end;
      end;
  end;
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 16-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:41:38.
Responder Con Cita
  #4  
Antiguo 16-06-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por JoseFco Ver Mensaje
Hola carnal, eso esta perfecto.pero lo que quiero es declarar las pocisiones de los Shape, los colores se los quiero poder hacer update en el procedimiento que este en ese momento pidiendolos.

No se si me explico?

Un Saludo.
NO

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 17-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:41:53.
Responder Con Cita
  #6  
Antiguo 17-06-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por JoseFco Ver Mensaje
Ok.
Arreglo: Array [0..7] of Integer = (1,1,1,1,0,0,0,0); aqui estan los colores declarados para los 8 Shape. 4 verde y 4 rojos.Estos no cambiaran nunca.la idea es poder declarar los Shape y el color se los da uno cuando llegue el momento. Shape7 puede ser rojo o verde, eso depende de lo que uno quiera.
La pregunta es esta. En vez de declarar los colores, se pueden declarar las pocisiones de los Shape?


Un Saludo.
Si, puedes hacer esto :

Código Delphi [-]
Var
  Arreglo: Array [0..7] of Integer;

//Y donde quieras asignar el valor :

Arreglo[0] := 1;
Arreglo[1] := 1;
Arreglo[2] := 1;
Arreglo[3] := 1;
Arreglo[4] := 0;
Arreglo[5] := 0;
Arreglo[6] := 0;
Arreglo[7] := 0;
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 17-06-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
A estos maestros ya no hay quien los entienda, me despedazan con mi humilde código y ni sombra del novato.
Y para hacerlo mas grande, ponéis códigos, que ni Dios entiende..
Y yo que me tarde toda una tarde pensando en como hacerle la tarea al Novato 2.
Que despecho.
Saludos

Última edición por Caral fecha: 17-06-2008 a las 01:23:32.
Responder Con Cita
  #8  
Antiguo 17-06-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Aqui mi contribucion a este hilo usando el codigo de este otro hilo:

Código Delphi [-]
//Declaramos una variable de tipo byte
var
  Form1: TForm1;
  bValor: byte;

//Creamos esta funcion para convertir el valor entero en una cadena binaria
function TForm1.IntToBinStr(num: integer): string;
var
   i: integer;
begin
   for i := 0 to 7 do
      Result := IntToStr((num shr i) and 1)+ Result;
end;
 
//Esta es la funcion de los led y shapes
procedure TForm1.EnciendeLED;
begin
  //esta etiqueta es nueva
  Label15.Caption := IntToStr(bValor);
  
 if StrToInt(MidStr(IntToBinStr(bValor), 1, 1)) = 0 then
    begin
      Shape8.Brush.Color := clLime;
      Edit8.Text := '0';
    end
  else
    begin
      Shape8.Brush.Color := clMoneyGreen;
      Edit8.Text := '1';
    end;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 2, 1)) = 0 then
    begin
      Shape7.Brush.Color := clLime;
      Edit7.Text := '0';
    end
  else
    begin
      Shape7.Brush.Color := clMoneyGreen;
      Edit7.Text := '1';
    end;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 3, 1)) = 0 then
    begin
      Shape6.Brush.Color := clLime;
      Edit6.Text := '0';
    end
  else
    begin
      Shape6.Brush.Color := clMoneyGreen;
      Edit6.Text := '1';
    end;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 4, 1)) = 0 then
    begin
      Shape5.Brush.Color := clLime;
      Edit5.Text := '0';
    end
  else
    begin
      Shape5.Brush.Color := clMoneyGreen;
      Edit5.Text := '1';
    end;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 5, 1)) = 0 then
    begin
      Shape4.Brush.Color := clLime;
      Edit4.Text := '0';
    end
  else
    begin
      Shape4.Brush.Color := clMoneyGreen;
      Edit4.Text := '1';
    end;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 6, 1)) = 0 then
    begin
      Shape3.Brush.Color := clLime;
      Edit3.Text := '0';
    end
  else
    begin
      Shape3.Brush.Color := clMoneyGreen;
      Edit3.Text := '1';
    end;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 7, 1)) = 0 then
    begin
      Shape2.Brush.Color := clLime;
      Edit2.Text := '0';
    end
  else
    begin
      Shape2.Brush.Color := clMoneyGreen;
      Edit2.Text := '1';
    end ;
 
  if StrToInt(MidStr(IntToBinStr(bValor), 8, 1)) = 0 then
    begin
      Shape1.Brush.Color := clLime;
      Edit1.Text := '0';
    end
  else
    begin
      Shape1.Brush.Color := clMoneyGreen;
      Edit1.Text := '1';
    end ;
end;

//Cuando cambia el valor de TrackBar al cual llamamos tbValor
procedure TForm1.tbValorChange(Sender: TObject);
begin
  bValor := tbValor.position;
  EnciendeLED;
end;

Como siempre se aceptan criticas constructivas, destructivas, orientativas y sin sentido!!

¡¡Prohibido desvirtuar este hilo!!
Responder Con Cita
  #9  
Antiguo 18-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 12:44:20.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiando el Color de la Barra Selectora del DBGrid enecumene OOP 5 21-04-2008 23:24:02
como cambiar color a un shape blackpic Varios 3 06-01-2008 00:28:00
Cambiando el codigo de delphi a builder... paco_galo C++ Builder 5 03-12-2007 22:14:54
asignar color a un shape NSL94 Impresión 4 11-07-2007 09:33:04
Cambiando a C# y .NET waltergomez La Taberna 10 01-08-2006 02:57:18


La franja horaria es GMT +2. Ahora son las 23:11:30.


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