![]() История библиотеки начиналась весьма просто, это была попытка ускорить перебор строк для формирования таблицы значений из RecordSet. Однако такая простая и функциональная вещь оказалась очень востребована, что и позволяет развиваться данной компоненте уже более 2.5 лет. GameWithFire использует библиотеки С++ 2005. После того как библиотеки установлены необходимо выполнить регистрацию GameWithFire.dll в реестре regsvr32.
Описание
Компонента состоит из следующих классов.
Показывать 2 элементов со страницы Классы, отсортированных по по времени изменения.
Дополнительно »
ПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils"); ADOUtils = Новый("AddIn.ADOUtils"); ПодключитьВнешнююКомпоненту("GameWithFire.V8Storage"); V8Storage = Новый ("AddIn.V8Storage"); Примечание: загружать компоненту методом ЗагрузитьВнешнююКомпоненту невозможно. Для использования компоненты необходимо наличие библиотеки Zlib1.dll (например рядом с библиотекой GameWithFire.dll). Свойства
Показывать 9 элементов со страницы Свойства, отсортированных по по времени изменения.
Дополнительно »
Методы
Показывать 23 элементов со страницы Методы, отсортированных по по времени изменения.
Дополнительно »
Примеры использованияПолучение результатов запросаПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils"); ADOUtils = Новый("AddIn.ADOUtils"); Connection = Новый COMОбъект("ADODB.Connection"); Connection.Open("Provider=sqloledb;Server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"); Recordset = Connection.Execute("select * from MyTable (nolock)"); ТЗ = ADOUtils.ADORecordsetToValueTable(Recordset); ТЗ.ВыбратьСтроку(); Получение записи конфигурацииПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils"); ADOUtils = Новый("AddIn.ADOUtils"); Connection = Новый COMОбъект("ADODB.Connection"); Connection.Open("Provider=sqloledb;Server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"); RecSetRead=Connection.Execute("Select BinaryData from Config Where FileName='"+Ключ+"'"); Если RecSetRead.State=1 И RecSetRead.RecordCount>0 Тогда МассивБайт = ADOUtils.InflateData(RecSetRead.Fields(0), 4).Выгрузить(); СимволыМаркера=""+МассивБайт[0]+ МассивБайт[1]+МассивБайт[2]+ МассивБайт[3]; RecSetRead.MoveFirst(); //это для того чтобы внутренее состояние объекта ADODB.Recordset изменилось и мы могли снова получать данные длинного поля, т.к. один раз мы его уже получили выше методом ADOUtils.InflateData Если Лев(СимволыМаркера,9)="239187191" Тогда //Строковые данные Содержание=ADOUtils.InflateToString(RecSetRead.Fields(0)); ИначеЕсли СимволыМаркера="77798867" Тогда //MXL ADOUtils.InflateToFile(RecSetRead.Fields(0), ИмяФайла); Файл=Новый Файл(ИмяФайла); ИначеЕсли СимволыМаркера="255255255127" Тогда //Внутренее хранилище КонецЕсли;ADOUtils.InflateToFile(RecSetRead.Fields(0), ИмяФайла); Файл=Новый Файл(ИмяФайла); ПодключитьВнешнююКомпоненту("GameWithFire.V8Storage"); V8Storage = Новый ("AddIn.V8Storage"); V8Storage.Open(ИмяФайла); Для каждого Item из V8Storage.Items Цикл МассивБайт = Item.GetData(Ложь, 4).Выгрузить(); СимволыМаркера=""+МассивБайт[0]+ МассивБайт[1]+МассивБайт[2]; Если Лев(СимволыМаркера,9)="239187191" Тогда //на данном уровне только строковые данные ТекстДок=Новый ТекстовыйДокумент; ТекстДок.УстановитьТекст(Item.GetDataToString(Ложь)); КонецЕсли; КонецЦикла; V8Storage.Close();
ПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils"); ADOUtils = Новый("AddIn.ADOUtils"); Connection = Новый COMОбъект("ADODB.Connection"); Connection.Open("Provider=sqloledb;Server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"); RecSet=Новый COMОбъект("ADODB.Recordset"); RecSet.Open("Select DataSize,Modified,BinaryData From Config WHERE FileName='"+СтруктураЗаписи.Ключ+"'",Connection,1,3);//3 разрешаем Update обычно 3,1 RecSet.Fields("Modified").Value=ТекущаяДата(); Если ТипЗнч(Данные)=Тип("Строка") ТОгда RecSet.Fields("DataSize").Value=ADOUtils.DeflateFromString(RecSet.Fields("BinaryData"),Данные); ИначеЕсли ТипЗнч(Данные)=Тип("Файл") Тогда RecSet.Fields("DataSize").Value=ADOUtils.DeflateFromFile(RecSet.Fields("BinaryData"),Строка(Данные.ПолноеИмя)); КонецЕсли; RecSet.Update(); RecSet.Close(); ПодключитьВнешнююКомпоненту("GameWithFire.V8Storage"); V8Storage = Новый ("AddIn.V8Storage"); V8Storage.Create(ИмяФайлаНовойФормы); Данные = V8Storage.Items.Add("form"); Данные.PutDataFromString(ТекстовыеДанныеФормы,Ложь); Данные = V8Storage.Items.Add("module"); Данные.PutDataFromString(ТекстМодуля,Ложь); V8Storage.Close(); АвторыДмитрий Ощепков (Киров) разработчик 1С++ и Ei Кудяков Герман (Санкт-Петербург) автор Ei в работе подглядывали исходники v8Unpack Дениса Демидова (Санкт-Петербург)
|
Статьи >
GameWithFire
![]() История библиотеки начиналась весьма просто, это была попытка ускорить перебор строк для формирования таблицы значений из RecordSet. Однако такая простая и функциональная вещь оказалась очень востребована, что и позволяет развиваться данной компоненте уже более 2.5 лет. GameWithFire использует библиотеки С++ 2005. После того как библиотеки установлены необходимо выполнить регистрацию GameWithFire.dll в реестре regsvr32.
Описание
ПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils"); ADOUtils = Новый("AddIn.ADOUtils"); ПодключитьВнешнююКомпоненту("GameWithFire.V8Storage"); V8Storage = Новый ("AddIn.V8Storage"); Примечание: загружать компоненту методом ЗагрузитьВнешнююКомпоненту невозможно. Для использования компоненты необходимо наличие библиотеки Zlib1.dll (например рядом с библиотекой GameWithFire.dll). СвойстваМетодыПримеры использованияПолучение результатов запросаПолучение записи конфигурации
АвторыДмитрий Ощепков (Киров) разработчик 1С++ и Ei Кудяков Герман (Санкт-Петербург) автор Ei в работе подглядывали исходники v8Unpack Дениса Демидова (Санкт-Петербург)
|