![]() |
niedrigstes Ergebnis raussuchen
hey leute, hab mehrere Rechnungen die alle das gleiche Ausrechnen nur mit unterschiedlichen Ausgangswerten jeweils....jetzt möchte ich das in meinem Label nur das geringste Ergebnis der Rechnungen angezeigt wird...hier ist mal mein code dafür....bin ein anfänger :)
Delphi-Quellcode:
[edit=Sharky]Delphi-Tags eingefügt. Bitte beim nächsten mal selber machen. Mfg, Sharky[/edit]
procedure TForm1.ButtonBerechnenClick(Sender: TObject);
begin m := StrToInt (EditPalettenlast.Text); g := 10; n_eins := 1; n_zwei := 2; n_drei := 3; n_vier := 4; n_fuenf := 5; n_sechs := 6; //Berechnung für eine Palette Fa := ((n_eins*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := (Fa*0.45); LabelMoment.Caption := floatToStr(Mmax); //Berechnung für zwei Paletten Fa := ((n_zwei*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := (Fa*0.45); LabelMoment.Caption := floatToStr(Mmax); //Berechnung für drei Paletten Fa := ((n_drei*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := ((Fa*1.35)-(m*g*0.9)); LabelMoment.Caption := floatToStr(Mmax); //Berechnung für 4 Paletten Fa := ((n_vier*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := (Fa*1.35-m*g*0.9); LabelMoment.Caption := floatToStr(Mmax); //Berechnung für 5 Paletten Fa := ((n_fuenf*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := (Fa*2.25-m*g*1.8-m*g*0.9); LabelMoment.Caption := floatToStr(Mmax); //Berechnung für 6 Paletten Fa := ((n_sechs*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := (Fa*2.25-m*g*1.8-m*g*0.9); LabelMoment.Caption := floatToStr(Mmax); end; |
Re: niedristes Ergebnis raussuchen
Schließe bitte Deinen Code künftig in Delphi-Tags ein, dann ist er besser zu lesen. Und zu Deinem Problem: schau mal in der Hilfe nach MinValue (Unit math).
|
Re: niedrigstes Ergebnis raussuchen
bekomme es nicht hin...habs jetzt so geschrieben, aber funktioniert nicht, da er minValue als undefinierten Bezeichner meldet.
Fa := ((n_sechs*m*g)/2); LabelAuflager.Caption := floatToStr(Fa); Mmax := (Fa*2.25-m*g*1.8-m*g*0.9); Mmax_min := minValue(Mmax); LabelMoment.Caption := floatToStr(Mmax_min); |
Re: niedrigstes Ergebnis raussuchen
Zum Einen musst Du die Unit math einbinden, zum Anderen erwartet die Funktion ein Array of double. Hier mal ein sinnfreies Beispiel:
Delphi-Quellcode:
uses math;
procedure TFormMain.ButtonMinValClick(Sender: TObject); var d_arr: array of double; begin //das Array auf Größe "4 Elemente" setzen SetLength(d_arr,4); //und befüllen d_arr[0] := 0.3; d_arr[1] := 0.31; d_arr[2] := 0.123; d_arr[3] := 7.1; //kleinsten Wert ausgeben ShowMessage(FloatToStr(MinValue(d_arr))); //und Speicher wieder freigeben SetLength(d_arr,0); end; |
Re: niedrigstes Ergebnis raussuchen
oder du speicherst immer den kleinsten wert zwischen... und wenn 'n neues ergebnis rauskommt, welches kleiner ist, datest dein kleinstes ergebnis ab...
damit ersparst dir 'n array... kannst mit 1, 2 zusätzlichen variablen machen. wenn du allerdings mehrere zwischenergebnisse hast, solltest dir 'n record oder 'n object ansehen ... <HTH> GG |
Re: niedrigstes Ergebnis raussuchen
Moin,
was soll das werden - eine Palettenstapel-Optimierung? Ich würde zumindest die Lastberechnungen in eine Funktion auslagern:
Delphi-Quellcode:
Grüße vom marabu
const
G = 9.81; function CalcPallets(n, load: Word; var weight, momentum: Double): Boolean; begin Result := n in [1..6]; if Result then begin weight := n * load * G / 2; case n of 1, 2: momentum := weight * 0.45; 3, 4: momentum := weight * 1.35 - load * G * 0.9; 5, 6: momentum := weight * 2.25 - load * G * 1.8 - load * G * 0.9; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz