Для удобного просмотра сайта рекомендуется использовать Google Chrome.


Закрытая тема
Страница 1 из 2 1 2 Следующая ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: COMSafeArray

  1. #1
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию COMSafeArray

    COMSafeArray (COMSafeArray)

    COMSafeArray (COMSafeArray)
    Методы:

    GetDimensions (GetDimensions)
    GetLength (GetLength)
    GetLowerBound (GetLowerBound)
    GetType (GetType)
    GetUpperBound (GetUpperBound)
    GetValue (GetValue)
    IsResizable (IsResizable)
    Resize (Resize)
    SetValue (SetValue)
    Выгрузить (Unload)
    Конструкторы:

    Из COMSafeArray
    Из массива 1
    Из массива 2
    По типу элемента 1
    По типу элемента 2
    Описание:

    Объектная оболочка над многомерным массивом SAFEARRAY из COM. Позволяет создавать и использовать SAFEARRAY для обмена данными между COM-объектами.
    Для передачи массива в качестве параметра метода COM-объекта необходимо построить COMSafeArray нужной размерности с нужным типом элемента и указать построенный COMSafeArray в качестве значения входного параметра. Другие объекты 1С:Предприятия можно использовать в качестве значений входных параметров типа Массив только при наличии исчерпывающей информации о типах параметров в библиотеке типа COM-объекта.
    Результат метода COM-объекта или значение выходного параметра типа Массив всегда представляется объектом COMSafeArray.
    Доступность:

    Тонкий клиент, сервер, толстый клиент, внешнее соединение.Пример:

    Массив = Новый COMSafeArray("VT_I4", 2);
    Массив.SetValue(0, 23);
    Массив.SetValue(1, 13.5);
    COMОбъект = Новый COMObject("ExampleCOMObject.ECOMClass");
    COMОбъект.ProcessSafeArray(Массив);


  2. #2
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    Методы:
    COMSafeArray.GetDimensions (COMSafeArray.GetDimensions)


    COMSafeArray (COMSafeArray)
    GetDimensions (GetDimensions)
    Синтаксис:

    GetDimensions()Возвращаемое значение:

    Тип: Число.
    Описание:

    Получает количество измерений массива COMSafeArray.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Пример:

    КоличествоИзмерений = Массив.GetDimensions();

  3. #3
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.GetLength (COMSafeArray.GetLength)

    COMSafeArray (COMSafeArray)
    GetLength (GetLength)
    Синтаксис:

    GetLength(<НомерИзмерения>)Параметры:

    <НомерИзмерения> (необязательный)

    Тип: Число.
    Измерения в массиве нумеруются с нуля от старшего к младшему.
    Значение по умолчанию: 0Возвращаемое значение:

    Тип: Число.
    Описание:

    Получает количество элементов по заданному измерению массива.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Примечание:

    Если указанный в параметре номер измерения меньше 0 или больше номера максимального измерения, то никаких действий не производится и выдается сообщение "Значение индекса выходит за границы диапазона".Пример:

    Индекс = 0;
    Количество = Массив.GetLength(0);
    Пока
    Индекс < Количество Цикл
    ЭлементМассива = Массив.GetValue(Индекс);
    КонецЦикла
    ;


  4. #4
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.GetLowerBound (COMSafeArray.GetLowerBound)

    COMSafeArray (COMSafeArray)
    GetLowerBound (GetLowerBound)
    Синтаксис:

    GetLowerBound(<НомерИзмерения>)Параметры:

    <НомерИзмерения> (необязательный)

    Тип: Число.
    Измерения в массиве нумеруются с нуля от старшего к младшему.
    Значение по умолчанию: 0Возвращаемое значение:

    Тип: Число.
    Описание:

    Получает минимальное значение индекса для данного измерения массива.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Примечание:

    Если указанный в параметре номер измерения меньше 0 или больше номера максимального измерения, то никаких действий не производится и выдается сообщение "Значение индекса выходит за границы диапазона".Пример:

    ИндексМин = Массив.GetLowerBound(0);
    ИндексМакс = Массив.GetUpperBound(0);
    Для
    Индекс = ИндексМин По ИндексМакс Цикл
    ЭлементМассива = Массив.GetValue(Индекс);
    КонецЦикла
    ;


  5. #5
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.GetType (COMSafeArray.GetType)

    COMSafeArray (COMSafeArray)
    GetType (GetType)
    Синтаксис:

    GetType()Возвращаемое значение:

    Тип: Строка.
    Описание возвращаемых значений типов элемента массива см. в описании параметра <ТипЭлемента> конструктора По типу элемента 1.Описание:

    Получает тип элемента массива.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Пример:

    ТипЭлемента = Массив.GetType();

  6. #6
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.GetUpperBound (COMSafeArray.GetUpperBound)

    COMSafeArray (COMSafeArray)
    GetUpperBound (GetUpperBound)
    Синтаксис:

    GetUpperBound(<НомерИзмерения>)Параметры:

    <НомерИзмерения> (необязательный)

    Тип: Число.
    Измерения в массиве нумеруются с нуля от старшего к младшему.
    Значение по умолчанию: 0Возвращаемое значение:

    Тип: Число.
    Описание:

    Получает максимальное значение индекса для данного измерения массива.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Примечание:

    Если указанный в параметре номер измерения меньше 0 или больше номера максимального измерения, то никаких действий не производится и выдается сообщение "Значение индекса выходит за границы диапазона".Пример:

    ИндексМин = Массив.GetLowerBound(0);
    ИндексМакс = Массив.GetUpperBound(0);
    Для
    Индекс = ИндексМин по ИндексМакс Цикл
    ЭлементМассива = Массив.GetValue(Индекс);
    КонецЦикла
    ;


  7. #7
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.GetValue (COMSafeArray.GetValue)

    COMSafeArray (COMSafeArray)
    GetValue (GetValue)
    Вариант синтаксиса: Список индексов

    Синтаксис:

    GetValue(<Индекс0>, <Индекс1>)Параметры:

    <Индекс0> (обязательный)

    Тип: Число.
    Значение старшего индекса.<Индекс1> (необязательный)

    Тип: Число.
    Значение следующего индекса, если массив более, чем одномерный.Описание варианта метода:

    В параметрах указываются значения индексов элемента массива, начиная со старшего.
    Каждый параметр определяет значение одного индекса. Параметров столько, сколько измерений в массиве. Тип всех параметров - Число.Вариант синтаксиса: Массив индексов

    Синтаксис:

    GetValue(<Индексы>)Параметры:

    <Индексы> (обязательный)

    Тип: Массив.
    Массив индексов, начиная со старшего.Описание варианта метода:

    Все индексы перечислены в одном массиве, начиная со старшего индекса. Индексов столько, сколько измерений в массиве COMSafeArray. Тип всех элементов массива параметров - Число.Описание:

    Получает значение элемента массива по указанным индексам.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Примечание:

    Если какой-нибудь из индексов выходит за допустимый диапазон, то никаких действий не производится и выдается сообщение "Значение индекса выходит за границы диапазона".Пример:

    ЭлементМассива = Массив.GetValue(1, 2, 2);
    Индексы = Новый Массив;
    Индексы.Добавить(1);
    Индексы.Добавить(2);
    Индексы.Добавить(2);
    ЭлементМассива = Массив.GetValue(Индексы);


  8. #8
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.IsResizable (COMSafeArray.IsResizable)

    COMSafeArray (COMSafeArray)
    IsResizable (IsResizable)
    Синтаксис:

    IsResizable()Возвращаемое значение:

    Тип: Булево.
    Истина - у массива можно менять нижнюю границу и количество элементов по старшему измерению; Ложь - в противном случае.Описание:

    Проверяет, можно ли изменять размерности массива.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Пример:

    МожноМенять = Массив.IsResizable();
    Если
    МожноМенять Тогда
    Массив.Resize(0, 10);
    КонецЕсли
    ;


  9. #9
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.Resize (COMSafeArray.Resize)

    COMSafeArray (COMSafeArray)
    Resize (Resize)
    Синтаксис:

    Resize(<Количество>, <НижняяГраница>)Параметры:

    <Количество> (обязательный)

    Тип: Число.
    Новое количество элементов по старшему (нулевому) измерению.<НижняяГраница> (необязательный)

    Тип: Число.
    Новое минимальное значение индекса по старшему (нулевому) измерению.
    Значение по умолчанию: 0Описание:

    Изменяет минимальное значение индекса по старшему измерению массива COMSafeArray и количество элементов по старшему измерению. Если новое количество элементов больше старого, то старые элементы COMSafeArray сохраняются, а значения добавленных элементов не определены. При уменьшении количества элементов значения лишних элементов с наибольшими значениями индексов теряются.
    Например, если COMSafeArray состоял из элементов:
    [0, 0] = 1; [0, 1] = 2; [1, 0] = 3; [1, 1] = 4,
    то после Resize(3, -1) он будет содержать:
    [-1, 0] = 1; [-1, 1] = 2; [0, 0] = 3; [0, 1] = 4; [1, 0] = ?; [1, 1] = ?,
    а после Resize(1, 2) он будет содержать:
    [2, 0] = 1; [2, 1] = 2.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Пример:

    // Для старшего индекса массива устанавливается количество элементов,
    // равное 10, а минимальное значение индекса, равное -1.
    Если Массив.IsResizable() Тогда
    Массив.Resize(10, -1);
    КонецЕсли
    ;


  10. #10
    Senior Member
    Регистрация
    03.02.2012
    Сообщений
    12,724
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а)
    в 0 сообщениях

    По умолчанию

    COMSafeArray.SetValue (COMSafeArray.SetValue)

    COMSafeArray (COMSafeArray)
    SetValue (SetValue)
    Вариант синтаксиса: Список индексов

    Синтаксис:

    SetValue(<Индекс0>, <Индекс1>, <ЗначениеЭлемента>)Параметры:

    <Индекс0> (обязательный)

    Тип: Число.
    Значение старшего индекса.<Индекс1> (необязательный)

    Тип: Число.
    Значение следующего индекса, если массив более, чем одномерный.<ЗначениеЭлемента> (обязательный)

    Устанавливаемое значение элемента. Тип этого параметра не должен конфликтовать с установленным типом элемента массива COMSafeArray.Описание варианта метода:

    В параметрах указываются значения индексов элемента массива, начиная со старшего и устанавливаемое значение. Каждый параметр, кроме последнего, определяет значение одного индекса. Параметров столько, сколько измерений в массиве. Тип всех параметров - Число. Последний параметр - устанавливаемое значение элемента массива.Вариант синтаксиса: Массив индексов

    Синтаксис:

    SetValue(<Индексы>, <ЗначениеЭлемента>)Параметры:

    <Индексы> (обязательный)

    Тип: Массив.
    Массив индексов, начиная со старшего. Индексов столько, сколько измерений в массиве COMSafeArray. Тип всех элементов массива параметров - Число.<ЗначениеЭлемента> (обязательный)

    Тип: Произвольный.
    Устанавливаемое значение элемента. Тип этого параметра не должен конфликтовать с установленным типом элемента массива COMSafeArray.Описание варианта метода:

    Все индексы перечислены в одном массиве, начиная со старшего индекса.Описание:

    Устанавливает значение элемента массива по указанным индексам.
    Доступность:

    Сервер, толстый клиент, внешнее соединение.Примечание:

    Если какой-нибудь из индексов выходит за допустимый диапазон, то никаких действий не производится и выдается сообщение "Значение индекса выходит за границы диапазона".
    Если устанавливаемое значение не может быть преобразовано к типу элемента COMSafeArray, то выдается сообщение о недопустимом преобразовании типа.Пример:

    Массив.SetValue(1, 2, 2, ЭлементМассива);
    Индексы = Новый Массив;
    Индексы.Добавить(1);
    Индексы.Добавить(2);
    Индексы.Добавить(2);
    Массив.SetValue(Индексы, ЭлементМассива);


Закрытая тема
Страница 1 из 2 1 2 Следующая ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения


Навигация по сайту:
, 1c, 1с 8.2, 1с 8.3, Скачать 1с, 1с бухгалтерия, 1с предприятие, Программа 1с,
1с торговля, 1с управление, 1с зарплата, Обновление 1с, Миста, Программирование 1с,

Положение об ответственности
Связь с администрацией erpsolution.ru@yandex.ru