Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #31  
Старый 15.12.2010, 00:22
glorx glorx вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 33
Репутация: 10
По умолчанию

так это обработчик с кнопки на второй форме! выходит оба убирать? или я не допонимаю..)

вобщем убрав оба цикла во втром обработчике, оставив только цикл в первом он выводит в таблице только одну строку результатов!!
если n=2 то вторую строку первую пропускает!!

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

ааааа мозг кипит))нужно спать идти, спс за помощь, если не против завтра продолжим!!
Ответить с цитированием
  #33  
Старый 15.12.2010, 14:40
glorx glorx вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 33
Репутация: 10
По умолчанию

итак что имеем:
кнопка второй формы:
Код:
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  
Старый 15.12.2010, 19:34
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

Плять. В первой форме нужно:
Код:
count := i;
А то у меня самого вчера из-за тебя мозг кипел.
__________________
Меня греют ваши плюсы к моей репутации...
Ответить с цитированием
  #35  
Старый 15.12.2010, 22:13
glorx glorx вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
В первой форме нужно:
Код:
count := i;
сам же написал подругому сначала!! спс попробую этот вариант!!
Ответить с цитированием
  #36  
Старый 16.12.2010, 19:18
glorx glorx вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 33
Репутация: 10
По умолчанию

Все получилось, осталось только построить график по данным из StringGrid!!
Как это сделать?
Ответить с цитированием
  #37  
Старый 16.12.2010, 22:07
glorx glorx вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 33
Репутация: 10
По умолчанию

вот обработчик на кнопку для построения графика, но ошибка при нажатии!!что не так??
Код:
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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter