Ver Mensaje Individual
  #3  
Antiguo 26-05-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Reputación: 22
Bicho Va por buen camino
Hola y bienvenido al ClubDelphi, nunca viene mal darle un repaso a la Guia de Estilo .

En cuanta a tú duda ahí va un ejemplo. Las funciones, al igual que los procedimientos puedes declararlo donde quieras, generalmente en la parte privada, pero si deseas que sea accesible, desde otros módulos del programa puedes ponerla en parte private.

La forma de declararla es sencilla, le pones el identificador delate de si es procedure o function, un espacio y le nombre de dicha funcion. Despues le puede poner los parámetros que le quieras pasar (entre parentesis) y los datos que quieres que te devuelva.

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    Button1: TButton;  
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    function SumaValores(valor1, valor2 : Integer) : Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var v1, v2 : Integer;
begin
   v1 := 3;
   v2 := 8;
   edit1.text := IntToStr(sumavalores(v1, v2));
end;

function Tform1.SumaValores(valor1, valor2 : Integer) : Integer;
begin
   Result := valor1 + valor2;
end

end.

Es sencillo, hemos declarado la funcion en la parte privada del programa, la hemos implementado con la combinación de teclas CTRL + SHIFT + C, para que se cree el cuerpo de la funcion:

Código Delphi [-]
function Tform1.SumaValores(valor1, valor2 : Integer) : Integer;
begin

end

y luego la hemos rellenado. Lo que hay entre parentesis sin los valores que le pasamos y lo que hay despues de los dos puntos es el tipo de dato que queremos que nos devuelva.

Por último hemos añadido un botón que rellena la propiedad text de un campo edit con el valor que devuelve la funcion que hemos creado. Hemos tenido que hacer un cast (IntToStr), porque la propiedad text es una cadena de texto.

Si tienes alguna duda más postéala aquí.

Espero te haya servido.

Saludos
Responder Con Cita