|
#31
|
|||
|
|||
так это обработчик с кнопки на второй форме! выходит оба убирать? или я не допонимаю..)
вобщем убрав оба цикла во втром обработчике, оставив только цикл в первом он выводит в таблице только одну строку результатов!! если n=2 то вторую строку первую пропускает!! Последний раз редактировалось glorx, 15.12.2010 в 00:29. |
#32
|
|||
|
|||
ааааа мозг кипит))нужно спать идти, спс за помощь, если не против завтра продолжим!!
|
#33
|
|||
|
|||
итак что имеем:
кнопка второй формы: Код:
procedure TEnterFrm.btn10Click(Sender: TObject); var i,n,D:Integer; Lt,Ld,Zt,Zd,Ft,Fd,U,E,H,fod,fi1,e1,n1:real; begin n:=StrToInt(Form1.lbledt23.text); //============запускаем цикл==================== //for d:=1 to n do // begin //=============================== fod:=strtofloat(Form1.lbledt20.Text); //for i:=1 to n do // begin // EnterFrm.ShowModal; // EnterFrm.lbl2.Caption:=IntToStr(i); Lt:=StrTofloat(EnterFrm.lbledt21.text); Ld:=StrTofloat(EnterFrm.lbledt22.text); Zt:=StrTofloat(EnterFrm.lbledt28.text); Zd:=StrTofloat(EnterFrm.lbledt29.text); Ft:=Lt*165; //усилие тормоза Fd:=Ld*195; // усилие двигателя U:=Ft/2*fod; // коэф.тяги E:=(1-(Zt/Zd))*100; // скольжение H:=((Ft*Zt)/(Fd/Zd))*100; // КПД Form1.strngrd1.Cells[1,count]:=floatToStr(Ft); Form1.strngrd1.Cells[2,count]:=floatToStr(Fd); Form1.strngrd1.Cells[3,count]:=floatToStr(U); Form1.strngrd1.Cells[4,count]:=floatToStr(E); Form1.strngrd1.Cells[5,count]:=floatToStr(H); Close; //end; // end; end; Код:
procedure TForm1.btn6Click(Sender: TObject); var n:integer; Lt,Ld,Zt,Zd,Ft,Fd,U,E,H,fod,fi1,e1,n1:real; begin n:=StrToInt(Form1.lbledt23.text); for i := 1 to n do begin EnterFrm.Caption:='Введите данные '+IntToStr(i)+' режима'; EnterFrm.lbledt21.Text:=''; EnterFrm.lbledt22.Text:=''; EnterFrm.lbledt28.Text:=''; EnterFrm.lbledt29.Text:=''; count:=n; EnterFrm.ShowModal; end; end; В итоге в таблицу сохраняется только последний расчет!! Например если n=3 то в таблицу только 3 строка и запишется, первые 2 пустые будут! Как исправить помогите, что не так в коде? может где в цикле ошибка или опрераторные скобки не так стоят! |
#34
|
||||
|
||||
Плять. В первой форме нужно:
Код:
count := i; Меня греют ваши плюсы к моей репутации... |
#35
|
|||
|
|||
Цитата:
|
#36
|
|||
|
|||
Все получилось, осталось только построить график по данным из StringGrid!!
Как это сделать? |
#37
|
|||
|
|||
вот обработчик на кнопку для построения графика, но ошибка при нажатии!!что не так??
Код:
procedure TForm1.btn10Click(Sender: TObject); var i: integer; begin with strngrd1 do for i:=1 to RowCount-1 do cht4.Series[1].AddXY(StrToFloat(strngrd1.Cells[3,i]),StrTofloat(strngrd1.Cells[4,i]),'',clTeeColor); cht4.Series[2].AddXY(StrToFloat(strngrd1.Cells[3,i]),StrTofloat(strngrd1.Cells[5,i]),'',clTeeColor); lnsrsSeries1.XValues.Order:=LoNone; end; |