AGB  ·  Datenschutz  ·  Impressum  







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

Lineare Funktionen

Ein Thema von galoru · begonnen am 7. Mär 2012 · letzter Beitrag vom 7. Mär 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

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

AW: Lineare Funktionen

  Alt 7. Mär 2012, 18:16
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.
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
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

AW: Lineare Funktionen

  Alt 7. Mär 2012, 18:22
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;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Lineare Funktionen

  Alt 7. Mär 2012, 18:31
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;
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
galoru

Registriert seit: 12. Okt 2011
27 Beiträge
 
#14

AW: Lineare Funktionen

  Alt 7. Mär 2012, 18:31
Tut mir Leid, Konstanten hatten wir noch nicht bei unserm Lehrer
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#15

AW: Lineare Funktionen

  Alt 7. Mär 2012, 19:40
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!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:28 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