unit user_types;

interface

uses SysUtils, Classes, ConstUnit;

Const REPEAT_AMOUNT = 5;

Const DEVICE_MESSAGE_LENGTH = 2400;   //длина посылки в байтах
Const DATA_SOURCE_DEVICE = 0;         //источник данных - устройство
      DATA_SOURCE_PROGRAM = 1;        //источник данных - программа




type
//масссив исходных значений тока и напряжения в посылке
TValue_UI = array [1..DEVICE_MESSAGE_LENGTH] of Word;
TRDValues_array = array [1..REPEAT_AMOUNT] of extended;

//информация об измерении
TMeasure_info_record = record
    ID:           string;
    date:         string;
    description:  string;
end;
//массив записей об измерении
TMeasure_info_array = array of TMeasure_info_record;

//информация о каждом измеренном значении
TMeasure_value_record = record
  source:     integer;
 // param:      TMeasure_Param;
 // point:      TMeasure_Point;
  repeat_num: byte;
  value:      extended;
  value_UI:   TValue_UI;
end;
//соответствующий массив
TMeasure_value_array = array of TMeasure_value_record;

//Информация о пациенте
TPatinet_record = record
    //Поля записи
    ID:             string;
    sirname:        string;     //Фамилия
    first_name:     string;     //Имя
    middle_name:    string;     //Отчество
    birth_day:      string;     //День рождения
    birth_month:    string;     //Месяц рождения
    birth_year:     string;     //Год рождения
    description:    TStrings;    //Описание - многострочное поле, поток
    measure_count:  integer;   //Количество проведенных измерений
    measures:       TMeasure_info_array; //Массив измерений
end;

//Результат запроса к базе
TQuery_results = record
    Success:      boolean;
    Error_message:string;
end;

     bit_array_8 = array[0..7] of byte;   //массив из 8 чисел. Используется для байта
     bit_Array_32 = array[0..31] of byte; //массив из 32 чисел. Используется для 32-битного числа
     message_Array = array[0..24002] of integer; //массив посылки
     TMatrix = array [0..4,0..4] of extended; //тип  массива
     TIzm_array = array [0..2400] of extended;
                                           //для матрицы 5 на 5
     TMes_array = array [0..4] of message_Array;
     Tbool   = array of boolean;
     TCol    = array [0..4] of extended;
params_record = record                //запись для результатов разбора
        //значения программы
        R:extended;
        C:extended;
        g0:extended;
        g1:extended;
        g2:extended;
        g3:extended;
        Usm:extended;
        Ism:extended;
        U_izm: TIzm_array;
        I_izm: TIzm_array;
        //значения прибора
        R_e:extended;
        C_e:extended;
        g0_e:extended;
        g1_e:extended;
        g2_e:extended;
        g3_e:extended;
        Usm_e:extended;
        Ism_e:extended;
        U_mis: boolean;
        I_mis: boolean;
     end;

implementation

end.
