AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

niedrigstes Ergebnis raussuchen

Ein Thema von foofighter85 · begonnen am 11. Aug 2008 · letzter Beitrag vom 12. Aug 2008
Antwort Antwort
foofighter85

Registriert seit: 7. Aug 2008
8 Beiträge
 
#1

niedrigstes Ergebnis raussuchen

  Alt 11. Aug 2008, 14:50
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:
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;
[edit=Sharky]Delphi-Tags eingefügt. Bitte beim nächsten mal selber machen. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: niedristes Ergebnis raussuchen

  Alt 11. Aug 2008, 14:53
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).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
foofighter85

Registriert seit: 7. Aug 2008
8 Beiträge
 
#3

Re: niedrigstes Ergebnis raussuchen

  Alt 11. Aug 2008, 15:17
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);
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: niedrigstes Ergebnis raussuchen

  Alt 11. Aug 2008, 15:25
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#5

Re: niedrigstes Ergebnis raussuchen

  Alt 11. Aug 2008, 22:25
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: niedrigstes Ergebnis raussuchen

  Alt 12. Aug 2008, 06:20
Moin,

was soll das werden - eine Palettenstapel-Optimierung?

Ich würde zumindest die Lastberechnungen in eine Funktion auslagern:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 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