![]() |
|
|
#16
|
||||
|
||||
|
ну сравнивай значения в эдитах и ищи самое маленькое и большое значения
![]() а кусок этот просто показывает че это за переменные, т.е. тебе им значения нужно присвоить |
|
#17
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
sl: tstringlist;
max, scale: real;
begin
sl:=tstringlist.Create;
sl.Add(edit1.Text);
sl.Add(edit2.Text);
sl.Add(edit3.Text);
sl.Add(edit4.Text);
sl.Add(edit5.Text);
sl.Add(edit6.Text);
max:=0;
for i:=0 to sl.Count-1 do begin
if strtofloat(sl[i])>max then max:=strtofloat(sl[i]);
end;
scale:=image1.Height/max;
image1.Canvas.MoveTo(0,Image1.Height-round(strtofloat(edit1.Text)*scale));
for i:=0 to sl.Count-1 do begin
image1.Canvas.LineTo(i*50, Image1.Height-round(strtofloat(sl[i])*scale));
end;
sl.Free;
end;Весь пост цитировать не надо. |
|
#18
|
|||
|
|||
|
А если отрицательные, что поменять? Просто могут быть и отрицательные...
А вообще, Timeless, огромное человеческое спасибо))) |
|
#19
|
||||
|
||||
|
Целесообразно использовать массив.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
ar: array [0..5] of real;
min, max, scale: real;
begin
ar[0]:=strtofloat(edit1.Text);
ar[1]:=strtofloat(edit2.Text);
ar[2]:=strtofloat(edit3.Text);
ar[3]:=strtofloat(edit4.Text);
ar[4]:=strtofloat(edit5.Text);
ar[5]:=strtofloat(edit6.Text);
min:=0;
max:=0;
for i:=0 to length(ar)-1 do begin
if ar[i]>max then max:=ar[i];
if ar[i]<min then min:=ar[i];
end;
scale:=image1.Height/(max-min);
image1.Canvas.MoveTo(0, image1.Height-round((ar[0]-min)*scale));
for i:=0 to length(ar)-1 do begin
image1.Canvas.LineTo(round(i*image1.Width/(length(ar)-1)), image1.Height-round((ar[i]-min)*scale));
end;
end; |