Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2016, 15:30   #1
wolf777
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 27
По умолчанию по строчно разобрать код

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

Код:
unit frmSTdexUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg,Math, ExtCtrls, Grids;

type
  TFrmSTdex = class(TForm)
    Label6: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Image1: TImage;
    EditK: TEdit;
    EditLmd: TEdit;
    ButtonBild: TButton;
    ButtonExit: TButton;
    StrGridFR: TStringGrid;
    Label3: TLabel;
    Label4: TLabel;
    EditTint: TEdit;
    Label13: TLabel;
    EditKolInt: TEdit;
    Label5: TLabel;
    EditLO: TEdit;
    EditKO: TEdit;
    Label10: TLabel;
    EditMo: TEdit;
    Label11: TLabel;
    EditDisp: TEdit;
    ButtonCalc: TButton;
    Label12: TLabel;
    EditSTdex: TEdit;
    Label14: TLabel;
    EditSTdexV: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    EditKA: TEdit;
    EditKE: TEdit;
    Label19: TLabel;
    EditSTdexFR: TEdit;
    Label20: TLabel;
    EditT: TEdit;
    procedure ButtonExitClick(Sender: TObject);
    procedure ButtonBildClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ButtonCalcClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmSTdex: TFrmSTdex;
   Function fr(x:real):real;
   Function Factorial (N: Word): Longint;	

implementation

uses frmGrafFuncUnit, frmProizISUnit;

{$R *.dfm}
Function Factorial (N: Word): Longint;	
Var
 j: Word;     p: Longint;	
  Begin				
  	p := 1;
  	For j := 2 to N do p := p*j;
   	Factorial := p	
  End;		

  Function fr(x:real):real;
   var
    fe,Fk,Lmd: real;
    k: integer;
  begin
     k:=round(StrToFloat(FrmSTdex.EditKO.Text));
     Lmd:=StrToFloat(FrmSTdex.EditLO.Text);
      Fk:=Factorial(k-1);
       fe := Lmd*Math.Power(Lmd*x,k-1)*Exp(-Lmd*x)/Fk;
   fr:= fe;
   end;

procedure TFrmSTdex.ButtonBildClick(Sender: TObject);
  var
     k: integer;
     Lmd,Xn,Xk,stFR: real;
     sg: String;
begin
      k:=round(StrToFloat(FrmSTdex.EditKO.Text));
     Lmd:=StrToFloat(FrmSTdex.EditLO.Text);
      stFR:=StrToFloat(EditSTdexFR.Text);
     Xn:= 0;    // вывод на график
      Xk:= StrToFloat(FrmProizvIS.EditKolInt.Text);
     sg:='k'+'='+FloatToStrF(k,ffGeneral,6,3)+',';
     sg:=sg+ ' Lmd'+'='+FloatToStrF(Lmd,ffGeneral,6,3);
      sg:=sg+ ' STdex'+'='+FloatToStrF(stFR,ffGeneral,6,3);
     frmGrafFuncUnit.tgr:=4;
     frmGrafFuncUnit.txt:=-200;
     frmGrafFuncUnit.tyt:=50;
    GrafFunc(Xn,Xk,sg,fr);
    FrmGrafik.Show();
end;

procedure TFrmSTdex.ButtonCalcClick(Sender: TObject);
  var
  mo, disp,stInd, Lo, Ko, stIndv,b1,b2,stFR: real;
  T: integer;
begin
    mo:=StrToFloat(EditMO.Text);
    disp:=StrToFloat(EditDisp.Text);
    stInd:= mo/disp;
   EditSTdex.Text:=FloatToStr(stInd);

    Lo:=StrToFloat(EditLO.Text);
    Ko:=StrToFloat(EditKO.Text);
    stIndv:= 1- Lo/Ko;
   EditSTdexV.Text:=FloatToStr(stIndv);

   b1:=2/sqrt(Ko);
   b2:=3*(Ko+2)/Ko;
    EditKA.Text:=FloatToStr(b1);
     EditKE.Text:=FloatToStr(b2);
     T:=StrToInt(EditT.Text);
     stFR:=1-(mo*b1)/(2*b2*T);
      EditSTdexFR.Text:=FloatToStr(stFR);
end;

procedure TFrmSTdex.ButtonExitClick(Sender: TObject);
begin
     Close();
end;

procedure TFrmSTdex.FormActivate(Sender: TObject);
 var
          i,n:integer;
begin
      n:= FrmSTdex.StrGridFR.ColCount;
  //     FrmSTdex.LabelRI.Caption:= 'Распределение по интервалам Tint= '+IntToStr(TintFr)+' сек';
        EditTint.Text:= FrmProizvIS.EditTint.Text;
         for I := 0 to n-1  do
           begin
             FrmSTdex.StrGridFR.Cells[i+1,0]:=IntToStr(i);  //+'T';
             FrmSTdex.StrGridFR.Cells[i+1,1]:= FloatToStr(masFR[i]);
           end;
        EditLmd.Text:=FrmProizvIS.EditL.Text;
       EditK.Text:=FrmProizvIS.EditK.Text;

       EditLO.Text:=FrmProizvIS.EditLo.Text;
       EditKO.Text:=FrmProizvIS.EditKO.Text;

       EditMo.Text:=FrmProizvIS.EditMo.Text;
       EditDisp.Text:=FrmProizvIS.EditDisp.Text
end;
end.
wolf777 вне форума Ответить с цитированием
Старый 12.12.2016, 20:03   #2
wolf777
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 27
По умолчанию

да мне тока формулы нужны из кода... я его слегка понимаю ну не весь... я ближе к php
wolf777 вне форума Ответить с цитированием
Старый 12.12.2016, 22:34   #3
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от wolf777 Посмотреть сообщение
помогите построчно разобрать код, какая строчка что выполняет
В дельфи есть такая замечательная штука - тыкаешь в непонятное мышкой, а потом нажимаешь F1.
И выскакивает замечательный хэлп, поясняющий, что сие означает и с чем его употреблять рекомендовано...
Правда хэлп на басурманском, но именно для этого предусмотрены переводилки - хошь онлайновые, хошь оффлайновые...
Цитата:
Сообщение от wolf777 Посмотреть сообщение
да мне тока формулы нужны из кода
А по поводу формул...
Спрашивается, а на кой тогда надо было приводить эту "простыню", ежели интересны только формулы?
Причем, что характерно, формулы написаны с использованием общепринятых в математике символов, кои даже нерадивый школьник поймет...
Единственное не совсем прозрачное место - это использование математического модуля Math (в одном-единственном месте!), но даже и он нашел свое отражение в хэлпе...
Или у вас дельфи даже не установлена?
Ну тогда приведу описание "страшно секретной" функции Power:
Цитата:
Функция Power( X,Y: Extended ): Extended;
Модуль: Math
Описание
Функция возводит X в степень Y. Значение аргумента Х должно быть больше нуля, иначе возникнет исключение EInvalidOp. Данная функция аналогична функции IntPower за исключением того, что для Power значение показателя степени Y может превышать MaxInt и иметь нецелочисленный тип.
kropotkina-alice вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разобрать код построчно WebNightmare Помощь студентам 0 12.11.2016 02:38
Разобрать html код Predator199 PHP 2 23.06.2014 21:41
Pascal разобрать код Cubi753 Помощь студентам 8 06.06.2013 16:30
Разобрать код С++ Al-chan Помощь студентам 6 24.02.2013 21:15