![]() |
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.
|
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; |
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; |
AW: Lineare Funktionen
Tut mir Leid, Konstanten hatten wir noch nicht bei unserm Lehrer :x
|
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 04:36 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