Avatar billede slinky Nybegynder
04. november 2004 - 21:44 Der er 10 kommentarer og
1 løsning

Procedure med formelle/aktuelle parametre

Hej

Jeg skal lave en procedure der beregner gennemsnittet af to tal. Den skal forsynes med en passende parameterliste, så al dataudveksling med omgivelserne foregår gennem parametre


Jeg er lige lidt fortabt... nogen der lige vil lave en??


Kristian
Avatar billede martinlind Nybegynder
04. november 2004 - 21:52 #1
procedure Test( Param : array of String );

Kig i hjælpen under open arrays der står alt om de mulighedder du har, du kan evt. parse en ( Sender : TObject; ..... ) den kan bruges til meget
Avatar billede arne_v Ekspert
04. november 2004 - 21:54 #2
function gns(a,b : double) : double;

begin
  gns := (a+b)/2;
end;

eller:

procedure gns(a,b : double; var c : double);

begin
  c := (a+b)/2;
end;
Avatar billede arne_v Ekspert
04. november 2004 - 21:55 #3
Nå mig og martin har ihvertfald fortolket spørgsmålet forskelligt !
Avatar billede slinky Nybegynder
04. november 2004 - 21:58 #4
hvordan kalder jeg så proceduren, hvis jeg fx vil bruge tallene 40 og 24
Avatar billede arne_v Ekspert
04. november 2004 - 22:00 #5
res := gns(40, 24);

eller

gns(40,24,res);

afhængig af om du vil bruge procedure eller function
Avatar billede slinky Nybegynder
04. november 2004 - 22:02 #6
hvorfor virker dette ikke?

procedure TForm1.Button1Click(Sender: TObject);

procedure gns(a,b : double; var c : double);

begin
  c := (a+b)/2;
end;

begin
gns(450,250,res)
edit1.Text:=floattostr(res)
end;

end.
Avatar billede slinky Nybegynder
04. november 2004 - 22:04 #7
den siger at res er en "undeclaret identifer", det burde den jo ikke sige, da man øverst har sagt at c er double... eller hvad?
Avatar billede arne_v Ekspert
04. november 2004 - 22:04 #8
procedure TForm1.Button1Click(Sender: TObject);

procedure gns(a,b : double; var c : double);

begin
  c := (a+b)/2;
end;

var
  res : double;

begin
  gns(450,250,res)
  edit1.Text:=floattostr(res)
end;
Avatar billede arne_v Ekspert
04. november 2004 - 22:05 #9
procedure TForm1.Button1Click(Sender: TObject);

procedure gns(a,b : double; var c : double);

begin
  c := (a+b)/2;
end;

var
  res : double; (* <---- *)

begin
  gns(450,250,res)
  edit1.Text:=floattostr(res)
end;
Avatar billede slinky Nybegynder
04. november 2004 - 22:13 #10
arne v.. smid et svar
Avatar billede arne_v Ekspert
04. november 2004 - 22:15 #11
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester