Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit procedure (https://www.delphipraxis.net/29197-problem-mit-procedure.html)

WhatAmI 5. Sep 2004 14:27


Problem mit procedure
 
Delphi-Quellcode:
procedure quadrantx(x:integer);
begin
 if form1.pbMain.width div 2 > x then
   x:=x
     else
       if form1.pbMain.width div 2 < x then
         x:=-x;
end;

procedure quadranty(y:integer);
begin
 if form1.pbMain.height div 2 > y then
   y:=y
     else
       if form1.pbMain.height div 2 < y then
         y:=-y;
end;
wenn ich die nachher aufrufe bekomme ich immer ne fehlermeldung!

der aufruf lautet:
Delphi-Quellcode:
sg2.cells[0,sg1.RowCount-1]:=inttostr(quadrantx(x));
sg2.cells[1,sg1.RowCount-1]:=inttostr(quadranty(y));
was hab ich bloss falschgemacht!

[edit=sakura] [delphi]Tags Mfg, sakura[/edit]

Johannes Maier 5. Sep 2004 14:30

Re: Problem mit procedure
 
Wie lautet denn der Fehler?
Btw: hier gibts nicht umsonst Delphi-Tags ;)

MfG

scp 5. Sep 2004 14:41

Re: Problem mit procedure
 
Wenn du das Ergebnis nur ind das Grid eintragen willst, dann würde ich nicht mit procedure sondern mit function arbeiten:
Delphi-Quellcode:
function quadrantx(x:integer) : integer;
begin
  if form1.pbMain.width div 2 > x then
    x := x
  else
  if form1.pbMain.width div 2 < x then
    x := -x;
  result := x;
end;

function quadranty(y:integer) : integer;
begin
  if form1.pbMain.height div 2 > y then
    y := y
  else
  if form1.pbMain.height div 2 < y then
    y := -y;
  result := y;
end;
Wenn des Ergebnis aber auch in der variable x bzw. y gespeichert werden soll, dann musst du vor den Parameter noch ein var setzen:
Delphi-Quellcode:
function quadrantx(var x:integer) : integer;

WhatAmI 5. Sep 2004 15:15

Re: Problem mit procedure
 
was bezweckt das wenn man seine parameter in einer funktion oder prozedure mit var schreibt?

Aenogym 5. Sep 2004 15:26

Re: Problem mit procedure
 
hi,

Delphi-Quellcode:
procedure add(a, b: integer; var x: integer);
begin
  x := a+b;
end;
dann weißt du der beim aufruf angegebenen variablen einen wert zu. dies funktioniert also ähnlich, wie eine funktion, außer, dass eben kein wert an die variable result gegeben wird, sondern an einen mit var deklarierten parameter.

Aenogym

WhatAmI 5. Sep 2004 15:56

Re: Problem mit procedure
 
danke für diese Information!;) problem ist gelöst!;)


vielendank
p.s bin noch nichtlang am programmierenü

DP-Maintenance 5. Sep 2004 15:56

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Hat ja etwas mit Delphi zu tun.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz