Написание программы игры "Жизнь" на Pascal 7.0, страница 6

StrListToNumber('Предел До', Data.UpLimit, SList);

StrListToNumber('Точность', Data.Accuracy, SList);

StrListToNumber('Количество отрезков', Data.Guantit, SList);

StrListPresenceOfNames('Метод интегрирования', s, SList);

SList.Clear;

             {Начало интегрирования}

              {Проверка на наличии ошибок

              в процесе интегрирования}

Int := CreateMethodIntegrirovaniya(StrMethodIntegral(s), Report);

Int.RunWithNewData(Data);

Int.Free;

(*if Report.Count = 0 then Begin

  int := CreateMethodIntegrirovaniya(StrMethodIntegral(s), Report);

  if Report.Count = 0 then Begin

    if Int is TMethodTrapeciy then Begin

      SList.Add('Трапеция занимает своё место в истории нападают');

{      TMethodtrapeciy(Int).RunWithNewData(Data);}

    end;

    if Int is TMethodSimpsona then Begin

      SList.Add('Симсоны нападают');

{      TMethodSimpsona(Int).RunWithNewData(Data);}

    end;

    If Report.Count = 0 then Begin

      Slist.Add('Интеграл решон :-)');

      SList.Add('Интегральная сумма = ' + FloatToStr(Data.Result));

      SList.Add('Погрешность составила ' + FloatTOStr(Data.Tochnost));

    end;

    Int.Free;

  end;

end;    *)

if Report.Count <> 0 then Begin

  SList.Add('Количество ошибок = ' + IntToStr(Report.Count));

  For i := 0 to Report.Count-1 do SList.Add(Report[i]);

end

else Begin

  Slist.Add('Интеграл решон :-)');

  SList.Add('Интегральная сумма = ' + FloatToStr(Data.Result));

  SList.Add('Погрешность составила ' + FloatTOStr(Data.Tochnost));

end;

Report.Clear;

End;

End.

unit FormaFromIntegrirovaniya;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Menus, StdCtrls, ExtCtrls, Integrirovanie;

type

  TFormForIntegrala = class(TForm)

    EnterFunction: TEdit;

    LabelFormuli: TLabel;

    PridelyIntrgrirovaniyaOt: TLabel;

    PridelyIntrgrirovaniyaDo: TLabel;

    StartIntegrirovaniya: TEdit;

    FinishIntegrirovaniya: TEdit;

    LabelAccuracy: TLabel;

    Accuracy: TEdit;

    LabelRezult: TLabel;

    Status: TLabel;

    Coun: TButton;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    NameStatus: TLabel;

    Rezult: TMemo;

    Method: TRadioGroup;

    PopupMenu1: TPopupMenu;

    N4: TMenuItem;

    N7: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    Kachestvo1: TLabel;

    Kachestvo2: TLabel;

    GuantitSection: TEdit;

    procedure FormCreate(Sender: TObject);

    procedure Exit(Sender: TObject);

    procedure CallPopupMeny(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure ClickForCoun(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  public

    Integral: TIntegral;

  end;

var

  FormForIntegrala: TFormForIntegrala;

implementation

{$R *.dfm}

procedure TFormForIntegrala.FormCreate(Sender: TObject);

Begin

Integral := TIntegral.Create;

End;

procedure TFormForIntegrala.FormClose(Sender: TObject;

  var Action: TCloseAction);

Begin

Integral.Free;

End;

procedure TFormForIntegrala.Exit(Sender: TObject);

Begin

If CloseQuery then Close

  else Application.Terminate;

End;

procedure TFormForIntegrala.CallPopupMeny(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

Var P: Tpoint;

Begin

P := GetClientOrigin;

if Button = mbRight then PopupMenu1.Popup(P.X+X,P.Y+Y);

End;

procedure TFormForIntegrala.ClickForCoun(Sender: TObject);

Var s: String;

    SList: TStringList;

Begin

Status.Caption := 'Считаем';

SList := TStringList.Create;

SList.Add('Функция=' + EnterFunction.Text);

SList.Add('Предел От=' + StartIntegrirovaniya.Text);

SList.Add('Предел До=' + FinishIntegrirovaniya.Text);

SList.Add('Точность=' + Accuracy.Text);

SList.Add('Количество отрезков=' + GuantitSection.Text);

Case Method.ItemIndex of

  0: s := 'трапеция';

  1: s := 'симсоны';

  else s := '';

end;

SList.Add('Метод интегрирования=' + s);

Integral.Schetat(SList);

Rezult.Lines := SList;

SList.Clear;

SList.Free;

Status.Caption := 'Посчитано';

End;

end.