Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como definir Funciones Globales (https://www.clubdelphi.com/foros/showthread.php?t=33463)

destrukthor 07-07-2006 12:30:46

Como definir Funciones Globales
 
Hola a tods.
Nuevamente yo los molesto con preguntas q a lo mejor ya estan respondidas de muy basicas, pero soy principiante como antes mensione en otras preguntas.
Bien , al punto quiero definir una funciones globales q retornen valores tantos Booleano como numericos mi problema radica donde las creo ya q las ocupare en distintos formularios y como son todas iguales solo con mandar los valores me comprobaria sus validaciones o resultados.
Si me puedes ayudar, ¿lo mismo tendria q hacer con los procedimientos q son similares? desde ya Gracias.

Bicho 07-07-2006 12:53:09

Si lo que deseas es que tu crees una funcion/procedimiento en una unit y sea accesible desde otras, lo más sencillo es que declares estas funciones en la parte public de la unit. Y en las demás units (siempre que sean del mismo proyecto) que tengan que usar las funciones debes añadir en el uses de cada unit, el nombre de la unit que contiene esas funciones, y ya podrás usarlas.

Un ejemplo:

Código Delphi [-]
unit Unit1;

interface

uses
....

type
  ...
  private
      ...
  public 
     procedure miprocedimiento(parametro1: string);
     function mifuncion(parametro2:integer) : Boolean;
  end;

implementation
...
//aqui pones la funcion y/o procedimientos


Y para usarla desde otro formulario tuyo (del mismo proyecto)
Código Delphi [-]
unit Unit2;

interface

uses Unit1
....

type
  ...
      procedure Boton1Click(Sender: TObject);
  private
      ...
  end;

implementation
...

procedure Boton1Click(Sender : TObject);
begin
  //para usar tu funcion de la unit
  Form1.Miprocedimiento(edit.text);
end;

Espero haya quedado claro.

Saludos

Lepe 07-07-2006 13:05:08

Aclarar que al hacerlo así tienes que incluir el código de la rutina en cada Formulario.

La otra solución es crear una Unidad (File -> New -> Unit), igual que en un Formulario, y allí en la parte interface pones el prototipo de la funcion, despues en la parte implementation añades el código.

La ventaja es que esa funcion no pertenece a un objeto determinado, ni a Form1, ni al Form2 etc; por tanto con solo añadir el "uses" de esa nueva unidad, ya puedes usarla en cualquier ventana.

Saludos

destrukthor 07-07-2006 14:07:57

Muuuuchas Gracias
 
Muhcas gracias a los dos.
Ati bicho por el proceso para declarar las funciones.
Y a ti lepe por el proceso global q me entregas, y esta es la q buscaba ya q la puedo llamar de cualquier parte del proyecto.
Vale muchas gracias..
... sin grande otro prblema resuelto por ustedes.
Cuidense y hasta otra oportunidad y espero aprender mucho para ayudar a otro en este foro.

destrukthor 07-07-2006 14:12:18

Aqui esta mi ejemplo q use
 
Use este ejemplo sencillo y rapido para verificar su utilidad, y lo precento para aquellos novatos como yo lo pruebe para resolver algun problema similar al mio.


Código Delphi [-]
 
unit ProcGlob;
interface
FUNCTION f_VerMsg(f_Num :Integer): Boolean;
implementation
FUNCTION f_VerMsg(f_Num :Integer): Boolean;
BEGIN
  IF f_Num=0 THEN
    Result:=True
  ELSE
    Result:=False;
END;
end.
Otro Formulario lo llamo asi
Código Delphi [-]
 
 
  IF f_VerMsg(0)=True THEN
    ShowMessage('Es Igual a 0')
  ELSE
    ShowMessage('Es Distinto a Cero');


La franja horaria es GMT +2. Ahora son las 18:48:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi