Autor Beitrag
padawan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35
Erhaltene Danke: 1



BeitragVerfasst: Do 20.01.11 23:12 
Hallo Delphi-Freunde!

Hab ne Rechenaufgabe(i schaffs net allein :cry: )
Ich möchte 8 Geldbeträge, statistisch mit 8 waagerecht verlaufenden Rechtecken, untereinander darstellen.
Die Beträge sind zB. 20,05 34,86 204,26 111,50 usw. -alles in Euro

in einem TImage(Image1.Width=500) zeichne ich die Rechtecke, klappt ja auch.

Mein Problem ist, für den größten Betrag(hier 204,26) den möglichst größten Wert für das Rechteck zu berechnen:
Mit dem richtigen Code könnte man das <array[1..8] of Real> doch per Schleife in Rechteckbreiten umwandeln.

Das breiteste Rechteck sollte möglichst groß sein, natürlich kleiner Image1.Width.
Die kleineren Beträge sollen ebenfalls zu Rechtecken werden, entspr. angepasst.

Ich konnte für eine Googlesuche keine vernünftigen Suchbegriffe finden.

DANKE im Voraus!!!
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 20.01.11 23:22 
Naja du sagst einfach die maximale breite is zb: 450 pixel.

Dann sind deine 204,26 Euro = 100% und demnach 450 pixel. Wieviel Prozent sind demnach 111,50 Euro? Einfach 111,50 durch 2,0426 und du hast die angabe wieviel prozent das sein müssen (2,0426 sind 204,26 durch 100). Das ergibt in dem Beispiel rund 54. Wenn du dann 450 * 0,54 rechnest, bekommst du die Breite des Balkens abhängig von der Maximalbreite, in deinem Fall 450. Die 0,54 sind einfach die 54 Prozent durch 100.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
padawan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35
Erhaltene Danke: 1



BeitragVerfasst: Do 20.01.11 23:34 
Hallo elundril!

Na klar, Prozentrechnung ist hier wohl unumgänglich. Denke, ich verstehe die Vorgehensweise jetzt gut.

Ich will es gleich mal umsetzen. DANKE Dir!!!
padawan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35
Erhaltene Danke: 1



BeitragVerfasst: Do 20.01.11 23:44 
Wie kann ich am besten verfahren, wenn ein oder mehrere Beträge > Image.width sind??
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 20.01.11 23:47 
Steht auch oben drin. Der höchste Betrag (wurscht ob der jetzt mehr als image.width ist oder weniger) wird so groß wie image.width abzüglich einem konstanten wert. (der konstante wert ist nur dafür da damit das nicht so an die Kante gepickt aussieht)

Du kannst auch das ganze beispiel mal mit dem maximalwert 50 durchrechnen statt den 450 und bekommst noch immer nur Zahlen kleiner oder gleich image.width. (die 50 sind dann dein image.width-konstanter wert)

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.

Für diesen Beitrag haben gedankt: padawan
padawan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35
Erhaltene Danke: 1



BeitragVerfasst: Do 20.01.11 23:56 
Das kommt so selbstverständlich rüber.. Alle Achtung! Danke!!!
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 21.01.11 07:28 
Da ich Unsinn geschrieben habe und aus dem Post doch noch was produktives machen möchte:

Wenn du viel mit Statistiken machst, kannst du dir mal TChart angucken. Ist zwar verbuggt beim einrichten, aber wenns mal läuft ist es ganz gut. Das macht solche Dinge automatisch, und kann auch Kuchendiagramme usw.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)