Newsgroup: it.comp.lang.delphi
Titolo: Recuperare un vecchissimo post (sconto multiplo)

Salve, volevo sapere dove posso recuperare un vecchissimo post dove si
parlava dello sconto multiplo, se non ricordo male era una funzione.
Enzo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 parlava dello sconto multiplo, se non ricordo male era una funzione.
Prova a vedere se è questo:
http://groups.google.it/group/it.comp.lang.delphi/browse_frm/thread/b2f25780ae0d2a9a
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

Prima di tutto ringrazio VITRIOL per il link.
Ora il problema è che non riesco a far funzionare la function e posto tutto
la unit per sapere dove sbaglio.
L'errore che mi da è il seguente:
"[Error] Unit1.pas(14): Unsatisfied forward or external declaration:
'TForm1.ImportoScontato'"
Saluti Enzo
==================================================================
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    function ImportoScontato(Importo: currency; Sconto: array of double):
Currency; overload;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
function ImportoScontato(Importo: currency; Sconto: array of
double):Currency;
var
  i: integer;
begin
  Result := Importo;
  for i := Low(Sconto) to High(Sconto) do Result := ImportoScontato(Result,
Sconto[i]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := FloatToStr(ImportoScontato(500, [10, 5, 3.5]));
end;
end.


'TForm1.ImportoScontato'"
Questo vuol dire che il metodo e' stato dichiarato ma non implementato
La dichiarazione:
function ImportoScontato(Importo: currency; Sconto: array of 
double):Currency;
non e' un metodo di TForm1 ma una funzione qualunque della unit.
Se si tratta di un metodo e' necessario anteporre al nome della 
funzione/procedura il nome della classe, in questo modo:
function TForm1.ImportoScontato(Importo: currency; Sconto: array of 
double):Currency;
Ciao.
---
Ryo GQI 

L'errore che mi da č il seguente:

Se dichiari la funzione all'interno della definizione della form, 
devi modificare la chiamata nella parte di implementation in
function TForm1.ImportoScontato(Importo: currency; Sconto: array of
double):Currency;
oppure metti la dichiarazione della funzione fuori dalla form, o meglio
ancora in una unit generica che puoi richiamare da piů unit.
Ciao
Giuseppe Garzotto
--- posted by geoForum on 
http://www.delphiedintorni.it

 ancora in una unit generica che puoi richiamare da più unit.


 ovviamente un stack overflow
E' vero!
Bisogna modificarlo così:
function ImportoScontato(Importo: currency; Sconto: array of double): 
Currency;
var
   i: integer;
function ImportoScontato(Importo: currency; Sconto: double): currency;
begin
   Result := Importo - (Importo * Sconto / 100);
end;
begin
   Result := Importo;
   for i := Low(Sconto) to High(Sconto) do Result := 	 
ImportoScontato(Result, Sconto[i]);
end;
-- 
Jax