Клиентская часть технологической среды для разработки больших экономических моделей: компоненты поддержки работы эксперта-экономиста при формировании и отладке (в расчетном режиме) структурного текста модели

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

начально появились интегрированные среды разработки - IDE (Integrated Development Environment), объединяющие компилятор, специальный текстовый редактор, ориентированный на работы с текстами на целевом языке программирования и средства отладки - трассировщикдебаггер и другие. По сравнению с предыдущими средствами программирования это был большой шаг вперед, но затем появились CASEсредства, которые позволяли максимально визуализировать процесс создания программы, но пользоваться ими было чересчур неудобно из-за их негибкости. В большинстве случаев написать достаточно сложную программу было очень трудно. Сейчас эти средства используются там, где подход достаточно однообразен - например при написании средств работы с базами данных.

Средства же быстрой разработки приложений (в дальнейшем - RADсредства), взяв все лучшее из интегрированных сред разработки и CASE систем, объединили мощь и гибкость работы с исходными текстами с удобством создания графического интерфейса пользователя - GUI (Graphic User Interface). К сожалению, большинство RADсредств не позволяют визуализировать логику самой программы, но и те методы, которые заложены в современные RADсредства, позволяют поднять производительность разработки программ в 2-3 раза.

Первой вариантом RADсредств можно назвать продукт фирмы Microsoft - Visual Basic, появившийся в начале девяностых годов. Но пик популярности подобных средств наступил совсем недавно - сразу несколько ведущих фирм по производству средств создания приложений анонсировали новые версии своих продуктов, которые уже могут по праву называться RADсредствами. Среди них можно назвать Microsoft Visual C++, Microsoft Visual Java, Power Builder (PowerSoft), Optima++ (PowerSoft), Borland Delphi, Borland C++ Builder и много других. В данной главе основной акцент будет делаться на систему Borland Delphi 3, поскольку именно эта среда использовалась при разработке программы в рамках данного дипломного проекта. Соответственно, большее внимание будет уделяться и диалекту языка Pascal - Object Pascal, который используется в качестве языка программирования в среде Delphi.

 

2.2 Особенности RADсредств

 

Две основных черты RADсредств - это визуальная компонентность и многократное использование кода. Каждая из этих черт предназначена для повышения производительности программирования. Рассмотрим их подробнее.

2.2.1 Визуальная компонентность

Данный подход является логическим развитием объектно-ориентированного программирования (ООП). Каждый компонент имеет свои события (events), методы (methods) и свойства (properties). Методы и события пришли из объектно-ориентированного программирования, а свойства являются привилегией компонентного подхода. Свойства позволяют изменить состояние компонента, причем как динамически - во время работы программы, так и статически - визуально во время разработки. Естественно, что компоненты имеет все те особенности, что и объекты в объектно-ориентированном программировании - наследование, полиморфизм и инкапсуляция. Таким образом, описание типичного компонента выглядит следующим образом:

 

TBitBtn = class(TButton)

private

FCanvas: TCanvas;

FGlyph: Pointer;

FStyle: TButtonStyle;

FKind: TBitBtnKind;

FLayout: TButtonLayout;

FSpacing: Integer;

FMargin: Integer;

IsFocused: Boolean;

FModifiedGlyph: Boolean;

procedure DrawItem(const DrawItemStruct: TDrawItemStruct);

procedure SetGlyph(Value: TBitmap);

function GetGlyph: TBitmap;

function GetNumGlyphs: TNumGlyphs;

procedure SetNumGlyphs(Value: TNumGlyphs);

procedure GlyphChanged(Sender: TObject);

function IsCustom: Boolean;

function IsCustomCaption: Boolean;

procedure SetStyle(Value: TButtonStyle);

procedure SetKind(Value: TBitBtnKind);

function GetKind: TBitBtnKind;

procedure SetLayout(Value: TButtonLayout);

procedure SetSpacing(Value: Integer);

procedure SetMargin(Value: Integer);

procedure CNMeasureItem(var Message: TWMMeasureItem); message CN_MEASUREITEM;

procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;

procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;

procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;

procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);

message WM_LBUTTONDBLCLK;

protected

procedure CreateHandle; override;

procedure CreateParams(var Params: TCreateParams); override;

function GetPalette: HPALETTE; override;

procedure SetButtonStyle(ADefault: Boolean); override;

public

constructor Create(AOwner: TComponent); override;

destructor Destroy; override;

procedure Click; override;

published

property Cancel stored IsCustom;

property Caption stored IsCustomCaption;

property Default stored IsCustom;

property Enabled;

property Glyph: TBitmap read GetGlyph write SetGlyph stored IsCustom;

property Kind: TBitBtnKind read GetKind write SetKind default bkCustom;

property Layout: TButtonLayout read FLayout write SetLayout default blGlyphLeft;

property Margin: Integer read FMargin write SetMargin default -1;

property ModalResult stored IsCustom;

property NumGlyphs: TNumGlyphs read GetNumGlyphs write SetNumGlyphs stored IsCustom default 1;

property ParentShowHint;

property ShowHint;

property Style: TButtonStyle read FStyle write SetStyle default bsAutoDetect;

property Spacing: Integer read FSpacing write SetSpacing default 4;

property TabOrder;

property TabStop;

property Visible;

property OnEnter;

property OnExit;

end;

 

В данном примере описан стандартный компонент TBitBtn, наследующий от стандартного класса Tbutton - стандартная кнопка, используемая повсеместно в Windows. Он имеет четыре секции в описании - private, protected, published и public. Данные секции регламентируют доступ к методам, полям и свойствам, находящимся в них для других компонент и для программ пользователя.

2.2.2 Многократное использование кода

Термин многократное использование кода (code reuse) говорит сам за себя. Данная технология подразумевает возможность написания таких участков программ, которые затем с небольшими изменениями (или совсем без изменений) могут быть ис?/p>