Ver Mensaje Individual
  #2  
Antiguo 30-03-2004
Avatar de Magician^
Magician^ Magician^ is offline
Miembro
 
Registrado: mar 2004
Ubicación: Lima - Perú
Posts: 74
Reputación: 21
Magician^ Va por buen camino
Yo lo uso de la siguiente manera:


Código:
 
//Por ejemplo para implementar una unidad con funciones matemáticas útiles:
 
unit MTools;
 
interface
 
type tfx=function(x:real):real;
 
function dfx(fx:tfx;x:real;h:real):real;
 
...
 
implementation
 
//funcion que calcula la derivada de fx respecto a x
 
function dfx(fx:tfx;x:real;h:real):real; 
....
 
end;
 
//---------------------------------------------------------------------------------
 
//En el programa principal puedo hacer uso de la unidad de la siguiente manera:
//Defino mi función (A,B,C son constantes previamente definidas):
 
uses MTools;
 
function U1(x:real):real;
begin
Result:=A*x*x/2 + B*x*x*x + C;
end;
 
function U2
(x:real):real;
begin
...
end;
 
function U3
(x:real):real;
begin
...
end;
 
 
//Y para usar la función:
 
dy1:=dfx(@U1,x,0.1);
dy2:=dfx(@U2,x,0.1);
dy3:=dfx(@U3,x,0.1);

También para procedimientos:

Código:
 
type
	tDisplay=procedure;			 // Definimos el tipo
 
//---------------------------------------------------------------------------------
 
procedure Display;
begin
 
//Esta puede ser una rutina de visualización
 
end;
 
//---------------------------------------------------------------------------------
 
procedure Show(Display:tDisplay);
begin
 
... //calculos intermedios
 
	if (CONDICION) then Display; // Aquí se ejecuta el procedimiento
...
 
end;
 
//---------------------------------------------------------------------------------
 
//Y podríamos llamar a Show pasando como parámetro el procedimiento Display:
 
Show(@Display)
Espero te sirva de algo.

Salu2
__________________
MAGICIAN^
Lima - Perú
=======
MagicTech.blogspot.com

Última edición por Magician^ fecha: 30-03-2004 a las 17:24:53.
Responder Con Cita