Показать сообщение отдельно
  #25  
Старый 14.12.2010, 23:29
glorx glorx вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 33
Репутация: 10
По умолчанию

если убрать i:=n;
то в результате например 3х опытов в таблицу записываются одн и те же знаечния, вероятно расчеты для последних введенных данных!!!
может ошибка в цикле? в операторных скобках где то? выложу код помогите найти пажалста:
для первой кнопки:
Код:
procedure TForm1.btn6Click(Sender: TObject);
var n:integer;
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:='';
   // i:=n;
    EnterFrm.ShowModal;
  end;
end;
для второй:
Код:
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

      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,i]:=floatToStr(Ft);
     Form1.strngrd1.Cells[2,i]:=floatToStr(Fd);
     Form1.strngrd1.Cells[3,i]:=floatToStr(U);
     Form1.strngrd1.Cells[4,i]:=floatToStr(E);
     Form1.strngrd1.Cells[5,i]:=floatToStr(H);
     Close;
    end;
 end;
end;
где ошибка?
Ответить с цитированием