Funciones y procedimientos en DELPHI 7

need ur help -  
 montecristo -
Hola a todos,
actualmente estoy aprendiendo Delphi utilizando una guía en línea que aquí está: https://fbeaulieu.developpez.com/guide/

pero he encontrado un problema con las funciones:
he seguido paso a paso lo que se describe en la guía (creación de un proyecto, declaración de la función...) pero el compilador encontró muchas errores, entre otros no reconoció la variable ''result'' aunque en principio debería estar predefinida!! (eso es lo que creí entender) ¿es a causa de la versión de Delphi?

a la espera de sus respuestas!!
Configuración: Windows XP Firefox 1.5.0.12

3 respuestas

  1. montecristo
     
    El problema viene de que no haces el método de tu función dentro de tu unidad de cálculo
    tu función
    unidad cálculo;

    interfaz
    {aquí está bien}
    function AireDisco(Radio: Single): Single;

    implementación
    {aquí tienes que hacer tu método en el estilo}
    //inicio del método
    function AireDisco(Radio: Single): Single;

    begin
    Result := PI * Radio * Radio;
    end; //fin del método

    end.
    una vez que estés seguro de lo que haces guarda la unidad cálculo
    y ponla en la cláusula uses de l'unité1
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, cálculo;

    normalmente deberías verla aparecer
    yo para escribir mis propios procedimientos o funciones en una unidad aparte primero los hago en un formulario para verificar y después los copio en mi archivo
    un pequeño consejo, observa con los componentes cómo Delphi construye esos procedimientos, te hará ahorrar tiempo
    ejemplo, tu botón mira los eventos que le están atribuidos
    cómo los declaran y dónde se encuentran los métodos
    2
  2. amira
     
    Hola,
    estoy realizando una operación aritmética pero tengo un problema con el resultado que es, por ejemplo, 6,66666........ Sé que hay una función predefinida en Delphi, por favor necesito esta función
    gracias.
    1
  3. need ur help
     
    ¡Hola, soy yo de nuevo!
    Aquí está exactamente lo que he hecho en mi Delphi
    He creado un proyecto (primerEssai.dpr) que contiene una unidad 'principale.pas' con su forma (forme1); y una unidad de cálculo (sin ficha)

    Aquí está el cuerpo de principale:
    unit principale;

    interface

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

    type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Declaraciones privadas }
    public
    { Declaraciones públicas }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    aire : single;
    begin
    ShowMessage ('¡Bravo! Buena respuesta :)');
    aire := AireDisque(3.2);
    end;

    end.

    Y el cuerpo de la unidad de cálculo

    unit calcul;

    interface
    function AireDisque(Rayon: Single): Single;

    implementation
    function AireDisque(Rayon: Single): Single;

    begin
    Result := PI * Rayon * Rayon;
    end;

    end.

    Y después de la compilación, aquí están los errores que me muestra el compilador:
    [Error] calcul.pas(7): Se esperaba declaración pero se encontró el identificador 'AireDisque'
    [Error] calcul.pas(10): Identificador no declarado: 'Result'
    [Error] calcul.pas(10): Identificador no declarado: 'Rayon'
    [Error] calcul.pas(11): Se esperaba '.' pero se encontró ';'
    [Error] calcul.pas(4): Declaración externa o anticipada no satisfecha: 'AireDisque'
    [Fatal Error] principale.pas(8): No se pudo compilar la unidad utilizada 'calcul.pas'

    Por favor, ayúdame a entender mejor
    y gracias de antemano.
    0