Ver Mensaje Individual
  #2  
Antiguo 06-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola Norum,
Fíjate que en

Código Delphi [-]
 procedure RGBtoHSL (RGB: TColor; var H, S, L : double);
los parámetros H, S, y L están después del var. Ese valor indica que dichos parámetros se pasan del tipo valor. Esto quiere decir que la variable que suministre en cualquiera de esos parámetros puede ser modificada dentro del procedimiento.

Te lo explico con un ejemplo:

Cuando tu haces:

procedure SeleccionarOperacion(Operacion: integer);
begin
...
end;

El valor de operación permanecerá fijo. Podrá ser modificado dentro del cuerpo del procedimiento, pero una vez que termine el valor de Operación seguirá siendo el mismo. Es decir que si pasas el valor 5, seguirá siendo 5.

Mientras que si haces:
Código Delphi [-]
SeleccionarOperacion(var Operacion: integer);
begin
...
Operacion: algo; // en algún momento el valor de operación ha cambiado.
...
end;

el valor al finalizar se modificó. Por tanto, si pasas el valor 5, cuando finalize podrá valer 1, 70, 100, etc...

Por tanto cuando llames a RGBtoHSL, deberás suministrar variables en dichos parámetros. Una vez que finaliza el procedimiento, en H, S y L quedará el valor correspondiente.

Con respecto a tu otra duda, lee sobre las funciones GetRValue, GetBValue, GetGValue. RGBToColor, ColorToRGB, entre otras.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita