Cita:
Empezado por Caral
Hola
Otro ejemplito con case.
Estoy practicando para no olvidarme de esto
Código Delphi [-] case Panel17.Color and Panel18.Color of
clRed: panel7.Color:= clRed;
end;
Saludos
|
Hola Carlos.
El problema con ese ejemplo es que el
Case no está preguntando si tanto Panel17.Color como Panel18.Color tienen un valor de clRed, sino que se está haciendo un "
And de bits" con los dos valores enteros.
Mira este ejemplo:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
begin
Case 7 And 11 Of
3 : Showmessage (
'7 y 11, ambos, tienen activos (en "1") los bits que ' +
'forman el entero 3:'#13#13'...00000111 (7)'#13 +
' And'#13'...00001011 (11)'#13 +
'---------------------'#13'...00000011 (3)');
End;
end;
Aquí el resultado:
En conclusión, no podemos pedirle a
Case que nos determine si dos expresiones cualesquiera (
Panel17.Color y
Panel18.Color, en este caso) son iguales a una tercera (clRed).
Saludo
And Abrazo.
Al González.