Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Maximum eines Wertebereiches ermitteln (https://www.delphipraxis.net/139299-maximum-eines-wertebereiches-ermitteln.html)

Baeuerle 26. Aug 2009 12:25


Maximum eines Wertebereiches ermitteln
 
Hallo,

ich möchte aus einem Wertebereich den höchsten Wert ermittlen, aber wie?

Delphi-Quellcode:

const MONTH_DAY = [1..28];
      VALUES = [1,50,3,5];

// so nun benötige ich eine function

Highest(MONTH_DAY);// sollte 28 liefern
Highest(VALUES);// sollte 50 liefern
Die function MaxIntValue aus Math.pas geht nicht mit Konstanten :-(

thx

guidok 26. Aug 2009 12:31

Re: Maximum eines Wertebereiches ermitteln
 
Da es ja Konstanten sind:

Delphi-Quellcode:
const
  HighestMonthDay = 28;
  HighestValues = 50;
Ist doch eine ziemlich sinnlose Funktion, wenn das Ergebnis eh schon feststeht, oder?

Baeuerle 26. Aug 2009 12:35

Re: Maximum eines Wertebereiches ermitteln
 
Nein, das ist NICHT sinnlos !!!

Bsp:

Es wird eine Konstante deklariert, auf diese wird mehrmals in der implementierung zugegriffen. so nun haben die monate plötzlich 45 tage. In diesem Fall muss ich nur eine Konstante ändern und schon ist wieder alles in ordnung.

angos 26. Aug 2009 12:37

Re: Maximum eines Wertebereiches ermitteln
 
Auch da brauchst keine Funktion. Vielleicht hilft ja das hier:


Delphi-Quellcode:
const
  MONTH_DAY_MIN = 1;
  MONTH_DAY_MAX = 28;

  MONTH_DAY = [MONTH_DAY_MIN..MONTH_DAY_MAX];

  VALUES_MAX = 50;
  VALUES = [1,VALUES_MAX,3,5];

HeikoAdams 26. Aug 2009 12:38

Re: Maximum eines Wertebereiches ermitteln
 
Gut möglich, das es da etwas falsch verstehe, aber sollte der Wert einer Konstante nicht, wie der Name sagt, konstant sein? PI z.B. ist auch eine Konstante und kann deshalb nicht nach belieben geändert werden.

Baeuerle 26. Aug 2009 12:41

Re: Maximum eines Wertebereiches ermitteln
 
@angos: ja, so habe ich es im moment gelöst.

jedoch sollte es doch auch möglich sein aus einem "set of" den höchsten werden zu ermitteln....


@HeikoAdams: Prinzipiell korrekt, jedoch gibt es immer wieder Änderungungen, die nicht absehbahr sind z.b. von der Geschäftsführung, und dann sollte diese so schnell wie möglich umgesetzt werden.

Uwe Raabe 26. Aug 2009 12:58

Re: Maximum eines Wertebereiches ermitteln
 
Zitat:

Zitat von HeikoAdams
Gut möglich, das es da etwas falsch verstehe, aber sollte der Wert einer Konstante nicht, wie der Name sagt, konstant sein? PI z.B. ist auch eine Konstante und kann deshalb nicht nach belieben geändert werden.

Der Wert ist auch über die gesamte Laufzeit des Programms konstant - aber eventuell nicht zwischen zwei Compilierungen.

himitsu 26. Aug 2009 13:22

Re: Maximum eines Wertebereiches ermitteln
 
Zitat:

Die function MaxIntValue aus Math.pas geht nicht mit Konstanten
klar kann die mit Konstanten umgehn, ABER du übergibst ein SET und diese Funktionen wollen ein ARRAY haben.

kennt du schon Delphi-Referenz durchsuchenHigh und Delphi-Referenz durchsuchenLow?

angos 26. Aug 2009 13:35

Re: Maximum eines Wertebereiches ermitteln
 
Zitat:

Zitat von himitsu
kennt du schon Delphi-Referenz durchsuchenHigh und Delphi-Referenz durchsuchenLow?

Wird ihm nur auch nichts bringen. Damit könnte er auch nur ein Array auslesen, aber eben nicht seine Konstanten, afaik.


gruß
angos

hadschi92 26. Aug 2009 13:55

Re: Maximum eines Wertebereiches ermitteln
 
Delphi-Quellcode:
maximal := Values[Low(Values)];
for i := low(Values) to high(Values) do
  if maximal < Values[i] then
    maximal := Values[i];
Stellst du dir das etwa so vor?


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

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