Registriert seit: 12. Okt 2011
27 Beiträge
|
Lineare Funktionen
7. Mär 2012, 18:21
Nabend Leute,
ich habe ein kleines Problem und hoffe, dass ihr mir weiterhelfen könnt.
Ich habe ein kleines Programm geschrieben, mit dem die Anzahl der Stimmen von Personen etc. in einem Säulendiagramm ausgegeben werden soll. Irgendwie werden die Balken zu groß oder zu klein.
Paintbox : 361x361
Ich habe bei x=20 angefangen und x=341 aufgehört.
Bei y=66 angefangen und y=331 aufgehört.
Hoffe ihr könnt mir weiterhelfen, da ich schon viel versucht habe und nichts funktionierte.
lg
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d,e,f :single;
begin
if (Edit1.Text='') or(edit2.text='') or (edit3.Text='')
or (edit4.text='') then showmessage ('Bitte Werte eingeben!') else begin
with paintbox1.Canvas do begin
pen.width:=2;
moveto(20,66);
lineto(20,331);
lineto(341,331);
moveto(13,265);
lineto(20,265);
moveto(13,199);
lineto(20,199);
moveto(13,133);
lineto(20,133);
moveto(13,66);
lineto(20,66);
Textout(1,35,'Stimmen');
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
d:=strtofloat(edit4.Text);
e:=a+b+c+d;
f:=(e)*0.5;
textout(0,193,(floattostr(f)));
textout(0,60,(floattostr(e)));
brush.color:=clred;
fillrect(rect(60,330,100,round (260-(a))));
brush.color:=clblue;
fillrect(rect(140,330,180,round (260-(b))));
brush.color:=clyellow;
fillrect(rect(220,330,260,round (260-(c))));
brush.color:=clgreen;
fillrect(rect(300,330,340,round (260-(d))));
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button2Click(Sender: TObject);
var t: integer;
begin
PaintBox1.Invalidate;
end;
end.
|