Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Lineare Funktionen (https://www.delphipraxis.net/166963-lineare-funktionen.html)

DeddyH 7. Mär 2012 18:16

AW: Lineare Funktionen
 
Deshalb musst Du das Verhältnis ja prozentual errechnen. Wenn das Diagramm 100 Pixel hoch ist, dann muss der Balken bei 17,7 % folglich 18 Pixel hoch werden, bei 60,2 % dementsprechend 60 Pixel etc.

shmia 7. Mär 2012 18:22

AW: Lineare Funktionen
 
Hier ist mal etwas Beispielcode zur Anregung der grauen Zellen.
Du kannst daraus lernen:
* Kommentare sind Nützlich
* Konstanten verbessern die Lesbarkeit
* mit Unter-Funktionen kommt man Schritt für Schritt zum Ziel
Delphi-Quellcode:
// Rechteck mit bestimmte Höhe erzeugen
function ErzeugeBalken(prozent:double):TRect;
const
  BALKENBREITE = 30;
  BALKENHOEHE  = 150;
begin
   Result := Rect(0,0, BALKENBREITE, trunc(BALKENHOEHE * prozent / 100.0));
end;

procedure TForm1.Button1Click(Sender: TObject);
const BALKENABSTAND = 65;
var
   balken : TRect;
   x,y : Integer;
begin
   balken := ErzeugeBalken(40.0{%});
   OffsetRect(balken, 35, 45); // Rechteck verschieben
   Canvas.FillRect(balken);

   balken := ErzeugeBalken(65.0{%});
   OffsetRect(balken, 35 + BALKENABSTAND, 45);
   Canvas.FillRect(balken);
end;

DeddyH 7. Mär 2012 18:31

AW: Lineare Funktionen
 
Da hätte ich auch noch was:
Delphi-Quellcode:
function PixelFromPart(Total, //Gesamtanzahl
 Part, //Einzelergebnis
 Pixelheight //Höhe des Diagramms in Pixel
 : integer): integer;
var
  Percent: double;
begin
  Result := 0;
  if Total <> 0 then
    begin
      //Prozentualen Anteil errechnen
      Percent := Part / (Total / 100);
      //Und auf die Diagrammhöhe übertragen
      Result := trunc(Pixelheight / 100.0 * Percent);
    end;
end;

galoru 7. Mär 2012 18:31

AW: Lineare Funktionen
 
Tut mir Leid, Konstanten hatten wir noch nicht bei unserm Lehrer :x

Aphton 7. Mär 2012 19:40

AW: Lineare Funktionen
 
Mit Pixeln von oben nach unten meint er die (maximale) Höhe des Diagrammes.

Wenn dein Diagram bei (x, 10) beginnt und bei (x, 100) aufhört, dann ist sie 90 hoch.

Diese 90 sind deine 100% auf die du sozusagen deine Werte mappst.

Sagen wir, du hast 120 Stimmen, Elefant hat 40, dann sind das genau 1/3 (so errechnet: 40/120).
1/3 = 33.3° % (so errechnet: 100 * 1/3)

Dann nimmst du eben von der Höhe deines Diagrammes genau diesen Wert -> 90 * 1/3 = 30
Die Höhe des Balkens vom Elefant sollte 30 sein!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 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