Динамический обмен данными (DDE), страница 5

Сеанс связи с Excel инициализируется   командой:

channel = ddeinit('excel','stocks.xls')

Функции DDE требуют rxcy стиля ссылки для рабочих листов Excel.

В терминологии Excel цены находятся в r3c1:r3c3 и число акций в r6c2:r8c2.

Запрашивать цены от Excel:

prices = ddereq(channel,'r3c1:r3c3')

>>prices =

           42.50        15.00        78.88

Запрашивать число  каждого типа акций в пакете акций:

shares = ddereq(channel, 'r6c2:r8c2')

>>shares =

          100.00

          500.00

          300.00

ddeadv

Устанавливает обновляемую связь.

Синтаксис.

rc = ddeadv(channel,'item','callback')

rc = ddeadv(channel,'item','callback','upmtx')

rc = ddeadv(channel,'item','callback','upmtx',format)

rc = ddeadv(channel,'item','callback','upmtx',format,timeout)

Описание

ddeadv устанавливает автоматически обновляемую связь между MATLAB и приложением - сервером. Когда данные, идентифицированные параметром Элемент, изменяются  , строка, указанная параметром возвращаемого ответа, передается к функции eval и вычисляется. Если автоматически обновляемая связь - горячая связь, DDE изменяет upmtx, обновляет матрицу , отражая данные в элементе.

Если Вы опускаете дополнительные параметры, которые - не в конце списка параметров, Вы должны заменить пустой матрицей отсутствующий параметр.

Если операция успешна, ddeadv возвращается 1 в переменной rc.  Иначе это возвращается 0.

Параметры ddeadv:

channel

Канал сеанса связи от ddeinit.

item

Строка, определяющая  имя элемента DDE  для автоматически обновляемой связи. Изменение данных, идентифицированных элементом, в сервере вызывает автоматически обновляемую связь.

callback

Строка, определяющая возвращаемый ответ, который вычисляется при уведомлении обновления. Изменение данных, идентифицированных элементом, в сервере заставляет возвращаемый ответ передаваться к функции eval, которая будет вычислена.

upmtx

(дополнительный)

Строка, определяющая имя матрицы, которая содержит данные, посланные при уведомлении об обновлении. Если параметр upmtx включен, изменения элемента в сервере заставляет upmtx быть модифицированным с пересмотренными данными. Определение upmtx создает горячую связь. Опуская upmtx или определяя его как пустая строка, создается теплая связь. Если upmtx существует в рабочем пространстве, его содержание перезаписывается. Если upmtx не существует, он создаается.

format

(дополнительный)

Массив с двумя элементами, определяющий формат данных, которые будут посланы при обновлении. Первый элемент определяет формат буфера обмена Windows, чтобы использовать для данных. Единственный в настоящее время поддержанный формат - cf_text, который соответствует значению 1. Второй элемент определяет тип результирующей матрицы. Правильные типы- это числовой (значение по умолчанию, которое соответствует значению 0) и строковый (который соответствует значению 1). Заданный по умолчанию  формат массива - [1 0].

timeout

(дополнительный)

Скаляр, определяющий ограничение времени выполнения для этой операции. timeout определено в миллисекундах. (1000 миллисекунд = 1 секунда). Если автоматически обновляемая связь не установлена в пределах миллисекунд времени ожидания, функция выдает ошибку. Значение по умолчанию для   времени ожидания - три секунды.