льна ширина для кожного з об'єктів, що отримується з ширини панелі і кількості компонент. Далі в список типу TList Chart додається Num Graph створюваних компонент і для кожної з них задаються відповідні їм координати на панелі.
Також додаток використовує модуль UString Log, з розташованими в ньому рядковими константами, необхідними для sql-запитів.
Додаток Б
Опис розроблених класів і методів для відображення каротажу
Клас TIncrTIncr=Class (TObject), Y, Z: array of Real;// координати точок: Integer;// кількість точок
public
destructor Destroy; override; GetNum: Integer; GetX (i: Integer): Real; GetY (i: Integer): Real; GetZ (i: Integer): Real; GetData ;; GetData;
Метод, який за допомогою sql-запиту повертає всі координатами з таблиці WELL_INCR. У результаті полю Num присвоюється кількість повернутих записів. Далі розподіляється пам'ять для Num елементів динамічних масивах X, Y, Z.
Модуль UWork містить следующееTTypeChart=(ViewCut, ViewTop);// безліч тип відображення інклінометрії
type TColorLine=(Red, Blue, Gray, Green, Yellow, Black, Silver);// безліч квітів відображаються елементів карти
Клас TLabelIncr. За допомогою об'єктів цього типу відображаються глибини свердловини
type=class (TLabel) Create (AOwnew: TComponent); override ;;
Клас TObjectListLabel. Список об'єктів типу TLabelIncr
type=class (TObjectList): integer;// кількість об'єктів
FChart: TChart;
WLabel, HLabel: Integer;// величини пов'язані з переведенням координат з координат положення об'єктів типу TLabelIncr на компоненті типу TChart в координати положення точок серії компоненті типу TChart
FIncr: TIncr ;, FVisAbsGlub: Boolean;// визначає, видимі чи мітки на даний моментFnIncr (IncrTemp: TIncr); FnVisGlub (Vis: Boolean); FnVisAbsGlub (Vis: Boolean);
publicCreate (AOwnsObjects: Boolean); overload; AddLabel (k: Integer); LabelDraw (Ind: array of Integer); LabelDefineSize (S: Integer; a: Real); MakeLabels; VisibleLAbs (Vis: Boolean); VisibleL (Vis: Boolean);
property Chart: TChart write FChart; Incr: TIncr write FIncr;
property VisGlub: Boolean write FnVisGlub; VisAbsGlub: Boolean write FnVisAbsGlub;
end;
procedure AddLabel (k: Integer);
Метод створює NumLabel-k об'єктів типу TLabelIncr, задаючи при цьому для них необхідні властивості. Ці об'єкти додаються в об'єкт описуваного класу.
procedure LabelDraw (Ind: array of Integer);
Масив Ind містить помічені точки графіка, поряд з якими повинні розташовуватися мітки. Відповідно до цим масивом об'єкти списку типу TObjectListLabel отримують відповідні їм координати розташування на компоненті типу TChartIncr
procedure LabelDefineSize (a: Real);
Метод викликається тільки при створенні списку. Створюється мітка типу TLabelIncr. a - число, яким заповнюється мітка. В результаті виконання методу визначається ширина і висота для всіх міток, які будуть використовуватися в додатку, відповідно WLabel і HLabel.
procedure MakeLabels;
Основний метод. Викликається кожного разу після зміни положення графіка на компоненті типу TChartIncr.
Спочатку виконується підрахунок міток у змінній k, які потрібно відобразити, позначаючи номери точок, відповідним матюками, в масиві Ind. Далі викликається метод AddLabel (k).
procedure VisibleLAbs (Vis: Boolean) і procedure VisibleL (Vis: Boolean)
Задає видимість для міток, що визначають глибини і для міток, що визначають абсолютні глибини (відповідно непарні і парні елементи списку)
Клас TLineSeriesIncr
TLineSeriesIncr=class (TLineSeries)
private
FIncr: TIncr;// об'єкт типу TIncr, який зберігає дані про графік
FTypeChart: TTypeChart;// тип Отображаніе інклінометрііFnIncr (IncrF: TIncr);
protected: TObjectListLabel;// список об'єктів типу TLabelIncr AddAllPoint;
constructor Create (AOwner: TComponent); override; Destroy; override; Incr: TIncr read FIncr write FnIncr; TypeChart: TTypeChart read FTypeChart write FTypeChart;
end;
procedure AddAllPoint;
Метод, який додає...