Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable über funktionsnamen zurückgeben (https://www.delphipraxis.net/13079-variable-ueber-funktionsnamen-zurueckgeben.html)

Blechwolf 10. Dez 2003 17:08

Re: Variable über funktionsnamen zurückgeben
 
Salut,

Ich finde VAR nicht unbedingt ne geschickte Variante um Ergebnisse einer Prozedur etc. zurück zu geben, da dann der vorherige Wert überschrieben wird. Will man den vorherigen Wert behalten, und mehrere Ergebnisse zurück geben, empfiehlt sich die Verwendung von OUT.

Beispiel ? - OK...

Delphi-Quellcode:
procedure CalcLinearRegression(XVals, YVals : array of double; out a,b : double);
// Calculate Linear Regression for the XVals and YVals
// ax + b = y
// a = (n*SumXY-SumX*SumY)/(n*SumXX-SumX^2)
// b = (SumY*SumXX-SumX*SumXY)/(n*SumXX-SumX^2)
var
  PointNb  : Integer;
  Nominator : double;
  SumX     : Double;
  SumXX    : Double;
  SumY    : Double;
  SumXY   : Double;
  i       : integer;
begin
  SumX := 0;
  SumXX := 0;
  SumY := 0;
  SumXY := 0;
  PointNb := Length(XVals);
  for i := 0 to PointNb-1 do
    begin
   SumX := SumX+XVals[i];
      SumY := SumY+YVals[i];
      SumXX := SumXX+XVals[i]*XVals[i];
      SumXY := SumXY+XVals[i]*YVals[i];
    end;

  Nominator := (PointNb*SumXX-SumX*SumX);

  a := (PointNb*SumXY-SumX*SumY)/Nominator;
  b := (SumY*SumXX-SumX*SumXY)/Nominator;
end;
Grüße

Wolf http://www-users.rwth-aachen.de/wolf...tballSmile.gif

P.S.: Eigentlich wollte ich noch nen Kommentar zum Thema Besserwisser schreiben, aber der wurde mir schonmal weg zensiert...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr.
Seite 2 von 2     12   

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