write_to_file
Записать блок данных пользовательских данных в файл.
int ires = ac_request_special("element_user_data", "read_from_file", string fullpath);
Возвращает в ires 0 в отсутствии ошибок.
Если возникла ошибка - возвращяется -1.
fullpath - путь к файлу, откуда считать блок данных.
Пример.
Упаковать рабочие таблицы в блок пользовательских данных и записать блок в файл и обратная операция - прочитать из файла и распаковать в таблицы.
int WriteTablesToFile()
{
string str, tmppath, filename;
shell_func("get_path", "tmp", tmppath);
filename = "LabPP_SAINT-GOBAIN.ini";
tmppath += "\\" + filename;
coutvar << tmppath;
ac_request_special("element_user_data", "clear");
ts_table(iTableMaterials, "print_to_str_as_json", str);
coutvar << str;
ac_request_special("element_user_data", "set_variable_value", "iTableMaterials", str);
ts_table(iTableSolutionsMats, "print_to_str_as_json", str);
ac_request_special("element_user_data", "set_variable_value", "iTableSolutionsMats", str);
ts_table(iTableSolutions, "print_to_str_as_json", str);
ac_request_special("element_user_data", "set_variable_value", "iTableSolutions", str);
ts_table(iTableSysProps, "print_to_str_as_json", str);
ac_request_special("element_user_data", "set_variable_value", "iTableSysProps", str);
int ires = ac_request_special("element_user_data", "write_to_file", tmppath);
if (ires < 0)
{
tsalert(-2, "Предупреждение", "Не удалось записать данные в файл " + tmppath, "Этот файл предназначен для быстрой загрузки данных GYPROC. Возможно этот путь не доступен для записи. Настройте config.cpp", "Ok");
return -1;
}
}
int ReadTablesFromFile()
{
string str, tmppath, filename;
filename = "LabPP_SAINT-GOBAIN.ini";
shell_func("get_path", "tmp", tmppath);
tmppath += "\\"+filename;
int ires = ac_request_special("element_user_data", "read_from_file", tmppath);
if (ires < 0)
{
tsalert(-2, "Предупреждение", "Не удалось считать данные из файла " + tmppath, "Этот файл содержит информацию GYPROC из файла Excel для быстрой загрузки", "Ok");
return -1;
}
ac_request_special("element_user_data", "get_variable_value", "iTableMaterials", str);
cout << "-------------------------------------\n";
coutvar << str;
ts_table(iTableMaterials, "load_from_json_str", str);
ac_request_special("element_user_data", "get_variable_value", "iTableSolutionsMats", str);
ts_table(iTableSolutionsMats, "load_from_json_str", str);
ac_request_special("element_user_data", "get_variable_value", "iTableSolutions", str);
ts_table(iTableSolutions, "load_from_json_str", str);
ac_request_special("element_user_data", "get_variable_value", "iTableSysProps", str);
ts_table(iTableSysProps, "load_from_json_str", str);
}