unit ConstUnit;
interface
uses SysUtils, MySQLUniProvider, Uni, DBAccess, MemDS,
Classes, Dialogs, Graphics, dateUtils;
const
SAVE_ACTION_ADD = 'add';
SAVE_ACTION_UPDATE = 'update';
DEFAULT_PAIENT_BIRTH_DATE = '01.01.1940';
report_error = 1; //1 - ошибки sql не показываются
//2 - ошибки sql показываются
Begin_conn_login_prompt = false;
Begin_conn_username_root = 'root';
Begin_conn_server = 'localhost';
Begin_conn_pass_root = '';
database_name = 'rd';
user_name = 'rd';
user_pass = 'rd_pass';
priv_y_count = 9; //количество привелегий у пользователя базы
table_izm_name = 'rd_izmerenia';
table_patient_name = 'rd_patient';
table_param_name = 'rd_param';
table_znacheniya_name = 'rd_znacheniya';
table_points_name = 'rd_points';
MEASURE_FORM_NAME = 'Проведение измрения';
MEASURE_DEVICE_READY = 'Прибор готов к измерению';
MEASURE_GETTING_DATA = 'Получаем данные...';
MEASURE_DECODING_MESSAGE = 'Декодирование посылки...';
begin_caption_error = 'Ошибка при инициализации программы';
Begin_mes_check_first = 'Проверка на первый запуск программы....';
Begin_mes_root_connected = 'Соединение с сервером баз данных установлено!';
begin_mes_fail_connect = 'Невозможно найти сервер базы данных или подключиться к нему.'+#13+
'Проверьте параметры подключения и запущен ли сервер';
begin_mes_terminate = 'Программа прекращает свою работу...';
begin_mes_second_connect_false = 'Подключение не установлено. Программа завершает свою работу...';
Begin_mes_check_database = '1. Проверяем наличие базы данных...';
Begin_mes_exist_database = ' База данных "'+database_name+'" существует';
Begin_mes_notexist_database = ' База данных "'+database_name+'" не существует!!!';
Begin_mes_create_database = ' Попытка создать базу данных "'+database_name+'"...';
Begin_mes_create_database_sucsess = ' База данных "'+database_name+'" успешно создана!';
Begin_mes_check_user = '2. Проверяем наличие пользователя...';
Begin_mes_check_user_sucsess = ' Пользователь "'+user_name+'" обнаружен';
Begin_mes_check_user_notsucsess = ' Пользователь "'+user_name+'"не обнаружен!!!';
Begin_mes_user_create = ' Попытка создать пользователя "'+user_name+'"...';
Begin_mes_user_create_suc = ' Пользователь "'+user_name+'" успешно добавлен!';
Begin_mes_check_user_priv = '3. Проверяем пользователя "'+user_name+'" на предмет достаточности прав для работы с программой';
Begin_mes_check_user_priv_suc = ' Права пользователя подтверждены!';
Begin_mes_check_user_priv_notsuc = ' Права пользователя не соответствуют заданным. Попытка изменить права...';
Begin_mes_check_user_priv_change = ' Права пользователя успешно изменены!';
Begin_mes_first_stage_complete = 'Первый этап проверки успешно завершен!!!';
Begin_mes_reconnect = 'Устанавливаем повторное соединение с базой данных...';
Begin_mes_reconnect_sucsess = 'Соединение успешно установлено';
Begin_mes_table_pat_exist = ' Таблица '''+table_patient_name+''' для пациентов существует';
Begin_mes_table_izm_exist = ' Таблица '''+table_izm_name+''' для измерений существует';
Begin_mes_table_param_exist = ' Таблица '''+table_param_name+''' для параметров существует';
Begin_mes_table_znach_exist = ' Таблица '''+table_znacheniya_name+''' для значений измерений существует';
Begin_mes_table_points_exist = ' Таблица '''+table_points_name+''' для описания точек существует';
Begin_mes_table_not_pat_exist = ' Таблица '''+table_patient_name+''' для пациентов не существует';
Begin_mes_table_not_izm_exist = ' Таблица '''+table_izm_name+''' для измерений не существует';
Begin_mes_table_not_param_exist = ' Таблица '''+table_param_name+''' для параметров не существует';
Begin_mes_table_not_znach_exist = ' Таблица '''+table_znacheniya_name+''' для значений измерений не существует';
Begin_mes_table_not_points_exist = ' Таблица '''+table_points_name+''' для описания точек не существует';
Begin_mes_table_pat_create = ' Попытка создать таблицу '''+table_patient_name+''' для пациентов... ';
Begin_mes_table_izm_create = ' Попытка создать таблицу '''+table_izm_name+''' для измерений...';
Begin_mes_table_param_create = ' Попытка создать таблицу '''+table_param_name+''' для параметров...';
Begin_mes_table_znach_create = ' Попытка создать таблицу '''+table_znacheniya_name+''' для значений измерений...';
Begin_mes_table_points_create = ' Попытка создать таблицу '''+table_points_name+''' для описания точек...';
Begin_mes_table_pat_create_sucsess = ' Таблица '''+table_patient_name+''' для пациентов успешно создана';
Begin_mes_table_izm_create_sucsess = ' Таблица '''+table_izm_name+''' для измерений успешно создана';
Begin_mes_table_param_create_sucsess= ' Таблица '''+table_param_name+''' для параметров успешно создана';
Begin_mes_table_znach_create_sucsess= ' Таблица '''+table_znacheniya_name+''' для значений измерений успешно создана';
Begin_mes_table_points_create_sucsess= ' Таблица '''+table_points_name+''' для описания точек успешно создана';
Begin_mes_keys_create = ' Попытка создания внешних ключей...';
Begin_mes_table_sucsess = 'Второй этап проверки пройден!';
Begin_mes_check_passed = 'ПРОВЕРКА НА КОРРЕКТНОСТЬ ПАРМЕТРОВ СОЕДИНЕНИЯ С БАЗОЙ ДАННЫХ ПРОЙДЕНА!!!';
Begin_mes_program_start = 'Запуск программы...';
/////////////////////////////////////////////////////////////////
/// Сообщения программы ///
/////////////////////////////////////////////////////////////////
mess_caption = 'RD Project. БМТ1';
image_size_label = 'Текущий размер: ';
add_point_to_database_mes = 'Точка успешно записана в базу данных!';
add_param_to_database_mes = 'Параметр успешно записан в базу данных!';
red_point_in_database_mes = 'Точка успешно отредактирована!';
red_param_in_database_mes = 'Параметр успешно отредактирован!';
del_param_from_database_mes = 'Параметр успешно удален из базы данных.'+#13+
'Также удалены все измерения этого параметра';
del_point_from_database_mes = 'Точка успешно удалена из базы данных'+#13+
'Также удалены все измерения, связанные с этой точкой';
add_pat_to_database_mes = 'Информация о новом пациенте успешно записана!';
del_pat_from_database_mes = 'Информация о пациенте удалена из базы данных!'+#13+
'Также удалена информация о всех измерениях с участием этого пациента';
red_pat_in_database_mes = 'Информация о пациенте успешно отредактирована!';
izm_data_lost = 'Вы уверены, что хотите закрыть окно измерений?';
izm_izm_end = 'Измерение закончилось. Все точки замерены';
izm_caption_message = 'RD_project. Измерение сопротивления БАТ';
del_point_question_mes = 'Вы выбрали удаление точки. При будет удалена '+
'вся информация об измерениях и значениях параметров, '+
'связанных с этой точкой. Вы хотите продолжить?';
del_param_question_mes = 'Вы выбрали удаление параметра. При будет удалена '+
'вся информация об измерениях и значениях параметров, '+
'связанных с этим параметром. Вы хотите продолжить?';
del_measure_question_mes = 'Вы уверены что хотите удаить всю информацию об измерении?';
del_patient_question_mes = 'Вы уверены что хотите удалить информацию о пациенте. '+
'Также будет удалена вся информация о его измерениях';
make_defaut_message = 'ВНИМАНИЕ! Все данные после выполнения этой операции будут Уничтожены! Вы уверены в продолжении?';
make_default_dll_error = 'Не найдена библиотека pictures.dll!!!';
/////////////////////////////////////////////////////////////////
/// МЕТКИ и ТЕКСТ В ПРОГРАММЕ ///
////////////////////////////////////////////////////////////////
////////////////////////
/// MAIN UNIT //
////////////////////////
status_bar_database_connection_exisits = 'Подключение к базе данных: Есть';
status_bar_database_connection_not_exisits = 'Подключение к базе данных: НЕТ';
status_bar_device_connected = 'Состояние прибора: Подключен';
status_bar_device_not_connected = 'Состояние прибора: НЕ ПОДКЛЮЧЕН';
status_bar_number_of_measurments = 'Проведено исследований: ';
//Закладка выбора измерений
MAIN_UNIT_MEASURE_CHOISE_NOT_SELECTED = 'Измерение не выбрано...';
//Закладка графики
main_unit_graphics_compress = 'сжато в ';
main_unit_graphics_compress_unit = ' раз';
main_unit_graphics_title_R = 'Сопротивление БАТ, МОм';
main_unit_graphics_title_G0 = 'Проводиость БАТ, 1/Ом*10^6';
main_unit_graphics_title_G1 = 'Проводиость БАТ, 1-ая гармоника, 1/Ом*10^6';
main_unit_graphics_title_G2 = 'Проводиость БАТ, 2-ая гармоника, 1/Ом*10^6';
main_unit_graphics_title_G3 = 'Проводиость БАТ, 3-ая гармоника, 1/Ом*10^6';
main_unit_graphics_title_C = 'Емкость БАТ, нФ';
main_unit_graphics_title_Usm = '';
main_unit_graphics_title_Ism = '';
//// Закладка диагноза
summ_left_hands = 'Сумма левой=';
summ_right_hands = 'Сумма правой=';
summ_hands = 'Сумма рук=';
summ_left_legs = 'Сумма левой=';
summ_right_legs = 'Сумма правой=';
summ_legs = 'Сумма ног=';
summ_all = 'Сумма =';
diagnoz_table_unit = 'МОм';
////////////////////////
/// ADMIN UNIT //
////////////////////////
params_default_name_opisnie_1 = 'Значения напряжения';
params_default_name_opisnie_2 = 'Значения тока';
params_default_name_opisnie_3 = 'Сопротивление';
params_default_name_opisnie_4 = 'Проводимость';
params_default_name_opisnie_5 = 'Первая гармоника проводимости';
params_default_name_opisnie_6 = 'Вторая гармоника проводимости';
params_default_name_opisnie_7 = 'Третья гармоника проводимости';
params_default_name_opisnie_8 = 'Емкость';
params_default_name_opisnie_9 = 'Напряжение смещения';
params_default_name_opisnie_10= 'Ток смещения';
params_default_name1 = 'U';
params_default_name2 = 'I';
params_default_name3 = 'R';
params_default_name4 = 'G0';
params_default_name5 = 'G1';
params_default_name6 = 'G2';
params_default_name7 = 'G3';
params_default_name8 = 'C';
params_default_name9 = 'Uсм';
params_default_name10= 'Iсм';
point_label_name = 'Точка №:';
param_label_name = 'Параметр №:';
image_size_label_name = 'Текущий размер: ';
////////////////////////
/// IZM UNIT //
////////////////////////
IZM_STOP_MEASUREMENT = 'Досрочно закончить измерение';
izm_unit_end_measurment_btn_label = 'Закончить измерение';
IZM_UNIT_MEASUREMENT_LABEL = 'Измерение ';
////////////////////////
/// DeviceRD UNIT //
////////////////////////
devicerd_device_just_connected = 'Прибор подключен. Перезапустите программу';
/////////////////////////////////////////////////////////////////
/// Названия колонок в таблицах //
/////////////////////////////////////////////////////////////////
/// Таблицы точек и параметров
point_param_num_name = ' Номер';
point_param_name_name = ' Название';
point_param_opis_name_param = ' Описание параметра';
point_param_opis_name_point = ' Описание точки';
/// Таблица пациентов
new_izm_num_name = ' №';
new_izm_fam_name = ' Фамилия';
new_izm_name_name = ' Имя';
new_izm_otch_name = ' Отчество';
new_izm_day_name = ' Число';
new_izm_mon_name = ' Месяц';
new_izm_year_name = ' Год';
new_izm_opis_name = ' Примечание';
function mysql_query(used_query:TUniQuery; zapros:String; mode:byte):boolean;
function BytesToStr(const i64Size: Int64): string;
function GetFileSize(namefile: string): string;
function Rounder(Value: extended; Decimals: Integer): extended;
function strtst(var Input: string; EArray: string; Action: integer): string;
function convert_day(day:integer):string;
function convert_month(month:integer):string;
function make_date(day,month,year:string):string;
procedure ShowMessage(const value : string) ; overload;
procedure ShowMessage(const value : integer) ; overload;
procedure ShowMessage(const value : extended) ; overload;
procedure ShowMessage(const value : boolean) ; overload;
implementation
uses DataUnit;
function make_date(day,month,year:string):string;
begin
result:=day+'.'+month+'.'+year+'г.';
end;
function convert_day(day:integer):string;
begin
if (day<10) then result:='0'+inttostr(day)
else result:=inttostr(day);
end;
function convert_month(month:integer):string;
begin
if (month<10) then result:='0'+inttostr(month)
else result:=inttostr(month);
end;
function strtst(var Input: string; EArray: string; Action: integer): string;
begin
case Action of
1:
begin
while length(Input) <> 0 do
begin
if pos(Input[1], EArray) = 0 then
delete(Input, 1, 1)
else
begin
result := result + Input[1];
delete(Input, 1, 1);
end;
end;
end;
2:
begin
while length(Input) <> 0 do
begin
if pos(Input[1], EArray) <> 0 then
delete(Input, 1, 1)
else
begin
result := result + Input[1];
delete(Input, 1, 1);
end;
end;
end;
end;
end;
function Rounder(Value: extended; Decimals: Integer): extended;
var
j: Integer;
A: extended;
begin
A := 1;
case Decimals of
0: A := 1;
1: A := 10;
else
for j := 1 to Decimals do
A := A * 10;
end;
Result := Int((Value * A) + 0.5) / A;
end;
function mysql_query(used_query:TUniQuery; zapros:String; mode:byte):boolean;
begin
used_query.Connection:=SQL_DM.mysql_con;
used_query.Active:=false;
used_query.SQL.Clear;
used_query.SQL.Append(zapros);
try
if mode=1 then used_query.Active:=true
else
if mode=2 then used_query.Execute;
except
//
end;
if (used_query.Active) or (not used_query.Executing) then result:=true
else result:=false;
end;
function BytesToStr(const i64Size: Int64): string;
const
i64GB = 1024 * 1024 * 1024;
i64MB = 1024 * 1024;
i64KB = 1024;
begin
if i64Size div i64GB > 0 then
Result := Format('%.2f GB', [i64Size / i64GB])
else if i64Size div i64MB > 0 then
Result := Format('%.2f MB', [i64Size / i64MB])
else if i64Size div i64KB > 0 then
Result := Format('%.2f KB', [i64Size / i64KB])
else
Result := IntToStr(i64Size) + ' Byte(s)';
end;
function GetFileSize(namefile: string): string;
var
InfoFile: TSearchRec;
AttrFile: Integer;
ErrorReturn: Integer;
begin
AttrFile := $0000003F; {Any file}
ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
if ErrorReturn <> 0 then
Result := '' {в случае, если файл не найден}
else
Result := BytesToStr(InfoFile.Size); {Размер файла в байтах}
FindClose(InfoFile);
end;
//displays a string in a dialog box
procedure ShowMessage(const value : string) ;
begin
Dialogs.ShowMessage(value) ;
end;
//displays an integer in a dialog box
procedure ShowMessage(const value : integer) ;
begin
ShowMessage(IntToStr(value)) ;
end;
//displays a float in a dialog box
procedure ShowMessage(const value : extended) ;
begin
ShowMessage(FloatToStr(value)) ;
end;
//displays a boolean in a dialog box
procedure ShowMessage(const value : boolean) ;
begin
ShowMessage(BoolToStr(value, true)) ;
end;
end.