Тема: 1Cv7.7: получение строки соединения с SQL-сервером из файла .dba
Функция XOR(Знач ParA, Знач ParB)
Res = 0;
Koef = 1;
Для к=1 По 8 Цикл
BitA = ParA % 2;
BitB = ParB % 2;
ParA = Int(ParA / 2);
ParB = Int(ParB / 2);
BitC = (BitA + BitB) % 2;
Res = Res + BitC * Koef;
Koef = Koef * 2;
КонецЦикла;
Возврат Res;
КонецФункции
//=========================================================
// индексы значений с списке
// server = 2, db = 4, uid = 6, pwd = 8, checksum = 10
Функция СтрокаСоединения(Файл)
Перем SQLKeyCode[36], ConnectCode[200];
FSO = CreateObject("Scripting.FileSystemObject");
F = FSO.OpenTextFile(Файл, 1);
ConnectLen = 0;
Пока F.AtEndOfStream = 0 Цикл
ConnectLen = ConnectLen + 1;
ConnectCode[ConnectLen] = КодСимв(F.Read(1));
КонецЦикла;
F.Close();
FSO = 0;
SQLKey = "19465912879oiuxc ensdfaiuo3i73798kjl";
Для к=1 По 36 Цикл
SQLKeyCode[к] = КодСимв(Сред(SQLKey, к, 1));
КонецЦикла;
Connect = "";
Для к=1 По ConnectLen Цикл
Connect = Connect + Симв(XOR(ConnectCode[к], SQLKeyCode[(к - 1) % 36 + 1]));
КонецЦикла;
Состояние(Connect);
vl=СоздатьОбъект("СписокЗначений");
Connect=СтрЗаменить(Connect,"{","");
Connect=СтрЗаменить(Connect,"}","");
vl.ИзСтрокиСРазделителями(Connect);
Возврат vl;
КонецФункции
Функция СтрокаСоединения получает путь к файлу .dba SQL-базы 1С и возвращает список значений, содержащий параметры соединения с SQL-сервером: имя сервера, имя базы данных, имя пользователя и пароль.
Опубликовал smaharbA.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.