Ver Mensaje Individual
  #4  
Antiguo 14-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Reputación: 24
vtdeleon Va por buen camino
Saludos

Cita:
Empezado por Essential Pascal - Marco Cantù
Parámetros constantes

Como alternative a los parámetros de referencia, puede usar un parámetro const. Ya que no puede asignar un nuevo valor a un parámetro constante dentro de una rutina, el compilador puede optimizar la transmisión de parámetros. El compilador puede elegir un enfoque similar para parámetros de referencia (o una referencia const, términos de C++), pero el comportamiento seguirá siendo similar a los parámetros de valor, porque el valor original no se verá afectado por la rutina.

De hecho, si intenta compilar el siguiente código (trivial), Delphi producirá un error :
Código Delphi [-]
function DoubleTheValue (const Value: Integer): Integer;
begin
  Value := Value * 2;      // error de compilación
  Result := Value;
end;
Parámetros de referencia
...
Transmitir un parámetro por referencia significa que su valor no se copia en la pila del parámetro formal de la rutina (evitar una copia a menudo significa que el programa se ejecuta más rápido). En su lugar, el programa hace uso del valor original, también en el código de la rutina. Esto permite al procedimiento o función cambiar el valor del parámetro. La transmisión de parámetros por referencia se expresa con la palabra clave var.
He aquí un ejemplo de transmisión de un parámetro por referencia mediante el uso de la palabra clave var:
Código Delphi [-]
procedure DoubleTheValue (var Value: Integer);
begin
  Value := Value * 2;
end;

{En este caso, el parámetro se usa tanto para transmitir un valor al 
procedimiento como para devolver un nuevo valor al código de llamada. Cuando se escribe ...
}
var
  X: Integer;
begin
  X := 10;
  DoubleTheValue (X);
end;
Yo creo que esto está claro
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita