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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2009, 08:38
Ksully Ksully вне форума
Прохожий
 
Регистрация: 17.04.2009
Сообщения: 23
Репутация: 10
По умолчанию Проблемка..., подскажите

Здравствуйте!!!
Что-то я запуталась с циклами, у меня много в коде операторов if и begin-ов, подскажите что не правильно в следующем коде, программа не считает Ksi11 и не поставляет нужный Fe и Fk

Код:
procedure TForm3.Button5Click(Sender: TObject);
var
Diam,w,Fk,Fe,KsiTru,Re,lamda,KsiPl,d,F0,Npol,Kn,Ne,Ksi11,KsiVx,KsiVix,Dlina,KsiVxTr,KsiVixTr,KsiTr:real;
 k,i,j,z:integer;
 s1,s2:string;
begin
  p:= strtofloat(Form1.StringGrid2.Cells[1,2]);
  a:=strtofloat(Form1.StringGrid1.Cells[1,5]);
  b:=strtofloat(Form1.StringGrid1.Cells[1,6]);
  v:=strtofloat(Form1.StringGrid2.Cells[1,1]);
  sher:= strtofloat(Form1.StringGrid1.Cells[1,2]);

 for z := 0 to StringGrid5.RowCount - 1 do
    StringGrid5.Rows[z].Clear();
      Ln:=StrToFloat(Form1.Edit1.Text);
      Lk:=StrToFloat(Form1.Edit3.Text);
      Step:=StrToFloat(Form1.Edit5.Text);
      L:=Ln;
      i:=1;
      k:=0;
 While l<=Lk do
   begin
      d:=4*a*b/(2*(a+b));
       w:=l/(3600*a*b);
       F0:=a*b;
       Kn:=1.355/(sqrt(sqrt(w*w*w)));

begin
    s1:= Form6.ComboBox2.Text;
 if s1='ÝÃÀ-1-10-6-4-2' then
    begin
    Fk:=630;
    Fe:=16.5;
   end
  else
  if s1='ÝÃÀ-1-10-6-6-3' then
    begin
    Fk:=1430;
    Fe:=16.5;
    end
  else
  if s1='ÝÃÀ-20-9-6-2' then
    begin
    Fk:=2830;
    Fe:=49;
    end
else

   if s1='Ñ-5' then
    begin
    Fk:=254;
    Fe:=5;
    end
  else
    if s1='ÏÃ-8' then
    begin
    Fk:=373;
    Fe:=7.8;
    end
  else
    if s1='ÄÌ-316' then
    begin
    Fk:=541;
    Fe:=13.3;
    end;
 end;

    begin
     s2:= Form6.ComboBox1.Text;
     if s2='Ïëàñòèí÷àòûé' then
       begin
         if Form6.FindComponent('ComboBox3') <> nil then
         Ne:=StrToFloat(TComboBox(Form6.FindComponent('ComboBox3')).Text);
         if Form6.FindComponent('ComboBox4') <> nil then
         Npol:=StrToFloat(TComboBox(Form6.FindComponent('ComboBox4')).Text);
         KsiPl:=Npol*Kn*(0.2+(0.5*Ne))*sqr(F0/Fk);
       end
     else
     if s2='Òðóá÷àòûé' then
       begin
           if Form6.FindComponent('Edit2') <> nil then
         Diam:=StrToFloat(TEdit(Form6.FindComponent('Edit2')).Text);
          if Form6.FindComponent('Edit1') <> nil then
         Dlina:=StrToFloat(TEdit(Form6.FindComponent('Edit1')).Text);
          Re:=(w*Diam)/v;
           begin
           if Re<2300 then
           lamda:=64/Re
         else
          if (Re>=2300) and (Re<100000) and ((sher/Diam)>0.00008) and ((sher/Diam)<0.0125) then
           lamda:=0.11*sqrt(sqrt((sher/Diam)+(68/Re)))
         else
           if (sher/Diam)>0.0125 then
           lamda:=1/(sqr(21*9.8*(Diam/sher)+1.14));
         end;
         KsiVxTr:=0.5*(1-(Fe/Fk))*sqr(F0/Fe);
         KsiVixTr:=sqr(1-(Fe/Fk))*sqr(F0/Fe);
         KsiTr:=((lamda*Dlina)/Diam)*sqr(F0/Fe);
         KsiTru:=KsiVxTr+KsiVixTr+KsiTr;
   end;
      // begin
      KsiVx:=1.6+(0.7*2)*sqr(F0/Fk)+0.1;
      KsiVix:=0.5*(1-F0/Fk);
      Ksi11:=KsiVx+KsiPl+KsiTru+KsiVix;
      Pfil:=(KsiVx+KsiVix+KsiPl+KsiTru)*(sqr(w)/2)*p;
   Form3.StringGrid5.Cells[0,0]:='Ñêîðîñòü';
  Form3.StringGrid5.Cells[1,0]:='Êñïð.âõ.';
  Form3.StringGrid5.Cells[2,0]:='Êñïð.âûõ.';
  Form3.StringGrid5.Cells[3,0]:='Êñïð.';
  Form3.StringGrid5.Cells[4,0]:='Ïîòåðè äàâëåíèÿ';
  Form3.StringGrid5.Cells[0,i]:=FloatToStrF(w, ffNumber,15,2);
  Form3.StringGrid5.Cells[1,i]:=FloatToStrF(KsiVx, ffNumber,15,2);
  Form3.StringGrid5.Cells[2,i]:=FloatToStrF(KsiVix, ffNumber,15,2);
  Form3.StringGrid5.Cells[3,i]:=FloatToStr(Ksi11);
  Form3.StringGrid5.Cells[4,i]:=FloatToStrF(Pfil, ffNumber,15,2);
  Form3.StringGrid5.Cells[5,i]:=FloatToStr(Pfil);
  i:=i+1;
  L:=L+step;
  k:=k+1;
  end; end;
  Form3.StringGrid5.RowCount:=k+1;
end;
Ответить с цитированием
  #2  
Старый 22.05.2009, 10:11
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Выкладывай полный листинг
Ответить с цитированием
  #3  
Старый 22.05.2009, 10:39
Ksully Ksully вне форума
Прохожий
 
Регистрация: 17.04.2009
Сообщения: 23
Репутация: 10
По умолчанию

В чем у меня проблема, это считается здесь, и все необходимое для этого здесь считается
Полный листинг очень большой
Ответить с цитированием
  #4  
Старый 22.05.2009, 11:21
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Как ты планируешь чтоб мы тут словили ошибку, если твой кусок кода не компилится без остальной части? Тем более, что у тебя он компилится= значит ошибок в синтаксисе нету.
Пройди по шагам по коду- так и найдешь свою проблему...
Ответить с цитированием
  #5  
Старый 22.05.2009, 14:22
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Вылей всю папку с сорцами, только мусор (*.~*, *.dcu, *.ddp...) почисти.
Покопаюсь, я сегодня свободен.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #6  
Старый 22.05.2009, 15:03
Ksully Ksully вне форума
Прохожий
 
Регистрация: 17.04.2009
Сообщения: 23
Репутация: 10
По умолчанию

Спасибо за отзывчивость, я разобралась, без округления число выводилось не правильно, и я думала что он его не прибавляет.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter