>
. Кевін Луні, Боб Брила. Oracle Database 10g Настільна книга адміністратора баз даних. Москва: Видавництво Лорі. 2008. - 729 стор.
Додаток А
Опис розроблених класів і методів для відображення каротажу
Клас TLogging, призначений для зберігання отриманих даних з таблиці WELL_METOD і маніпуляції ними.
type TLogging=Class (TObject)
private
State: Boolean;// визначає, створювався чи раніше об'єкт класу
Cod: array of Integer;// ідентифікатори записів у таблиці
Glub: array of Single;// початкові глибини: array of Single;// інтервали між вимірами характеристик
Num: array of Integer;// кількості вимірювань характеристик
Count: Integer;// кількість записів у таблиці
Mas: array of array of Single;// характеристики вимірювань: array of String;// найменування методів каротажу
publicGetCod (i: Integer): Integer; GetGlub (i: Integer): Single; GetShag (i: Integer): Single; GetNum (i: Integer): Integer; GetCount: Integer; GetMas ( i, j: Integer): Single; GetMetod (i: Integer): String; GetData;
procedure LoadMasFromFile (FileNameMas: string; k: Integer); LoadMasFromBlob (k: integer);
procedure SetMasToBlob (k: integer);
Constructor Create; Destroy; override ;;
procedure GetData;
Метод завантажує вміст полів з бази даних у відповідні поля класу TLogging. Реалізовано за допомогою компонента типу TADO Query. Який спочатку надсилає запит на отримання з бази всіх полів крім blob-поля (MAS). Заповнюються всі масиви, відповідні полям у базі даних, попередньо розподіливши для них пам'ять. Далі надсилається запит до бази даних на повернення всіх записів, в яких поле MAS не заповнено, об'єднаний із запитом, що повертає всі записи, в яких поле MAS заповнене (в результаті виконання запиту додаток отримує не тільки коди записів, але і мітки 1 або 0 для кожного запису, відповідні заповненої та незаповнених полю). Відповідно до результату запиту для кожного запису в класі виконується або метод Load Mas From File і Set Mas To Blob (у випадку якщо мітка дорівнює 0), або Load Mas From Blob (у разі рівності мітки одиниці).
procedure Load Mas From File (File Name Mas: string; k: Integer);
Метод отримує ім'я файлу File Name Mas та номер запису k в класі. Із зазначеного файлу читається Num [k] чисел типу Single, які заносяться в k-ту рядок масиву Mas. Set Mas To Blob (k: integer);
Метод, який в результаті виконання sql-запиту заповнює k-ту запис поле MAS k-тим рядком масиву Mas. Попередньо вміст k-того рядка масиву Mas заносяться в створений потік. Який і завантажується в відповідний параметр запиту.
procedure Load Mas From Blob (k: integer);
Метод, який в результаті виконання sql-запиту заповнює k-ту рядок масиву Mas вмістом поля MAS k-того запису в базі даних. Попередньо вміст поля MAS зберігається в створений потік. З якого потім і зчитуються елементи для заповнення масиву Mas
Клас TLine Series Log.
type TLine Series Log=class (TLine Series)
public
procedure Draw Graph (i: Integer; Logging: TLogging);
end;
procedure Draw Graph (i: Integer; Logging: TLogging);
Метод заносить в серію точки, відповідні i-тим рядкам в масивах полів об'єкта Logging. Попередньо властивість сортування по осі абсцис встановлюється в loNone, тобто сортування відсутня.
Клас TChartLog=class (TChart): TLineSeriesLog;// серія, добавляемая при виклику конструктора
constructor Create (AOwner: TComponent); override; Destroy; override;
Клас TPanelLog=class (TPanel): TObjectList ;: Boolean;:Integer;// кількість відображуваних компонент типу TChartLog
public
constructor Create (AOwner: TComponent); override;
destructor Destroy; override; GetNumGraph; Execute (Logging: TLogging);
end; GetNumGraph;
Метод, який за допомогою sql-запиту, що повертає записи з таблиці WELL_KRIV, заносить в поле класу Num Graph кількість записів, повернутих запитом.
procedure Execute (Logging: TLogging);
Метод займається розміщенням компонент типу TChart Log на описуваному компоненті. Спочатку обчислюється зага...