Delphi - Declaración de procedimientos y funciones

 
Vista:

Declaración de procedimientos y funciones

Publicado por Alfonso (13 intervenciones) el 06/09/2001 19:03:48
Mi problema es q no m aclaro todavía muy bien a la hora de declarar procedimientos y funciones que puedan ser llamados por otras unidades del proyecto.P. ej. Tengo una función q m devuelve el año de la fecha q le paso como parametro, a la cual llamo desde distintas unidades(Units.pas) pero siempre tengo q poner en q unit está para llamrla -> Ppal.ObtenAño(Date). Esto ha de ser así o hay otra forma.Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Declaración de procedimientos y funciones

Publicado por Ernesto D'Spirito (706 intervenciones) el 07/09/2001 02:28:01
Si no hay un conflicto de nombres (o sea, dos o más funciones con el mismo nombre en diferentes unidades), no hay necesidad de calificar el nombre de la función con el nombre de la unidad donde ésta se encuentra.

Por ejemplo:

unit rutinas;

interface

function iif(exp: boolean; valor1: variant; valor2: variant): variant;

implentation

function iif(exp: boolean; valor1: variant; valor2: variant): variant;
begin
if exp then
Result := valor1
else
Result := valor2
end;

end.

Tenemos entonces una unidad rutinas que expone una función IIF. En cualquier otro lugar donde querramos usarla, tenemos que incluir rutinas en la cláusula uses y luego se puede llamar a la función sin más:

unit unit1;

...

implementation

{$R *.res}

uses rutinas; // usamos la unidad

procedure TForm1.Button1Click(Sender: TObject);
begin
// llamamos a la función
ShowMessage(iif(IsNumeric(Edit1.Text), 'OK', 'ERROR'));
end;

Espero que te sirva.

Ernesto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Declaración de procedimientos y funciones

Publicado por Alfonso (13 intervenciones) el 08/09/2001 18:07:49
Muchas gracias por tu ayuda.Hasta otra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar