|
#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; |