1

Тема: 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.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.