![]() |
|
|
#16
|
|||
|
|||
|
Цитата:
Это кнопка на которую нажимаем (ОК)после ввода значений, при ее нажатии либо опять вводим значения если n>1 либо форма пропадает и данные записываются в таблицу.. Последний раз редактировалось glorx, 14.12.2010 в 21:55. |
|
#17
|
||||
|
||||
|
Цитата:
|
|
#18
|
|||
|
|||
|
Цитата:
а для второй что прописать?? ну например при нажатии на нее нужно чтобы поля очищались для ввода новых данных, менялся заголовок с номером опыта! и при завершении цикла N-Ого она закрывалась!! вот этого хочется добится.. что скажешь? может нужно код для первой кнопки разбить на 2е части? я не могу допетрить сам( |
|
#19
|
||||
|
||||
|
А этого у тебя разве нет, у тебя кажется что-то такое и реализованно.
|
|
#20
|
|||
|
|||
|
Цитата:
я вот вспомнил что кнопки то 2е а обработчик один.. |
|
#21
|
||||
|
||||
|
Цитата:
|
|
#22
|
|||
|
|||
|
Цитата:
если время есть у тибя помоги с кодом пажалста, запутался совсем=( может я не до конца объяснил, но первая кнопка по сути используется для вызова второй формы, а все остальное должно быть на второй кнопке Последний раз редактировалось glorx, 14.12.2010 в 22:44. |
|
#23
|
||||
|
||||
|
Код:
var // глобальная i: integer; Код:
proc Form1.ButtonClick()
begin
for i := 1 to n do
begin
Form2.Edit1.Text := '';
// и также для остальных эдитов
i := n;
Form2.ShowModal;
end;
end;Код:
proc Form2.ButtonClick() begin // математика Form1.StringGrid[1, i] := значение // также для остальных ячеек Close; end; Как-то так... |
|
#24
|
|||
|
|||
|
ругается на i:=n;
|
|
#25
|
|||
|
|||
|
если убрать 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; |
|
#26
|
||||
|
||||
|
Первая:
Код:
var
count: integer;
...
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:='';
count:=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,TForm1.count]:=floatToStr(Ft);
Form1.strngrd1.Cells[2,TForm1.count]:=floatToStr(Fd);
Form1.strngrd1.Cells[3,TForm1.count]:=floatToStr(U);
Form1.strngrd1.Cells[4,TForm1.count]:=floatToStr(E);
Form1.strngrd1.Cells[5,TForm1.count]:=floatToStr(H);
Close;
end;
end;
end; |
|
#27
|
|||
|
|||
|
ругается на Count, что то с идентификатором
Цитата:
Если просто count оставить, убрав оба цикла с этой кнопки, то он в таблицу записывает только последний расчет!! предыдущие ячейки пустые он их как бы считает но не записывает результат Последний раз редактировалось glorx, 15.12.2010 в 00:10. |
|
#28
|
||||
|
||||
|
Убери тформ1, то я немного тупанул
просто коунт. |
|
#29
|
|||
|
|||
|
вот что получится:
Цитата:
тут оба цикла убираем??? Код:
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,TForm1.count]:=floatToStr(Ft);
Form1.strngrd1.Cells[2,TForm1.count]:=floatToStr(Fd);
Form1.strngrd1.Cells[3,TForm1.count]:=floatToStr(U);
Form1.strngrd1.Cells[4,TForm1.count]:=floatToStr(E);
Form1.strngrd1.Cells[5,TForm1.count]:=floatToStr(H);
Close;
end;
end;
end;Последний раз редактировалось glorx, 15.12.2010 в 00:18. |
|
#30
|
||||
|
||||
|
Не нужно оба, только со врой формы.
|