Вот и все компоненты, размещенные на основной форме. Помимо этой формы в приложении имеется форма FErrors окна сообщений об ошибках, описанная в модуле UErrors. Окно содержит только один компонент - ListBoxl. Эта форма описана в гл. 3 в разд. 3.7.2 и мы не будем здесь на ней останавливаться. Отметим только, что она исключена из числа автоматически создаваемых в проекте и создается во время выполнения только при возникновении ошибок трансляции.

Кроме этих форм приложение включает в себя также вспомогательную форму задания начальной точки, показанную на рис. 4.27. Эта форма описана в модуле UXO и имеет имя FXO. На форме расположена таблица StringGrid и кнопка. Единственный оператор модуля этой формы - оператор Close в обработчике щелчка на кнопке, так что далее код этой формы мы рассматривать не будем.

Последняя из вспомогательных форм, используемых в приложении - форма FResult, описанная в модуле UResult и показанная на рис. 4.28 а. Форма содержит две таблицы типа StringGrid. Первая из них используется для отображения координат найденного корня, а вторая - для отображения невязок. На форме расположена также метка с именем Liter, в которую заносится число обращений к функции. Ни одного исполняемого оператора в модуле UResult нет.

Код главного модуля URoot2 с некоторыми купюрами, не имеющими отношения к его функционированию, приведен в листинге 4.10.

Листинг 4.10. Модуль URoot2

unit URoot2;

// Решение систем уравнений

// Уравнения системы записываются в виде:

// имя_функции = выражение с переменными

// имя_функции - это произвольное имя, начинающееся с символа "f". // Имена переменных произвольные, но не начинающиеся с символа "f". // Для метода Ньютона ищутся корни, обращающие все выражения в 0. // Для метода простых итераций ищутся корни, для которых // значение первой функции равно значению первой переменной // (в порядке появления переменных в выражениях), // значение второй функции равно значению второй переменной и т.д.

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls,•StdCtrls, ExtCtrls, ToolWin, ActnList, ImgList, AppEvnts, Menus, Equ2, UMatrix; type

TForml = class(TForm) Memol: TMemo;
EDF: TEdit;
RGMetod: TRadioGroup;
GroupBox2: TGroupBox;
EDAbsX: TEdit;
EDRelX: TEdit;
MainMenul: TMainMenu;
MFile: TMenuItem;
MOpen: TMenuItem;
MSave: TMenuItem;
MExit: TMenuItem;
ApplicationEventsl: TApplicationEvents;
ImageListl: TImageList;
ActionListl: TActionList;
AOpen: TAction;
ASave: TAction;
AExit: TAction;
OpenDialogl: TOpenDialog;
SaveDialogl: TSaveDialog;
ToolBarl: TToolBar;
ARoot: TAction;
ACalc: TAction;
ATransl: TAction;
ToolButton8: TToolButton;
AFXO: TAction;
StatusBarl: TStatusBar;
ENIterMax: TEdit;
procedure ATranslExecute(Sender: TObject);
procedure AFXOExecute(Sender: TObject);
procedure ARootExecute(Sender: TObject);
procedure AOpenExecute(Sender: TObject);
procedure ASaveExecute(Sender: TObject);
procedure ACalcExecute(Sender: TObject);
procedure RGMetodClick(Sender: TObject);
procedure FormCreate(Sender: TObject);

⇐ Предыдущая страница| |Следующая страница ⇒

Приемы программирования в Delphi на основе VCL



Новости за месяц

  • Апрель
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31