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

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
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
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