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

Пример 1.

Предположите, что канал сеанса связи с Excel был предварительно установлен с ddeinit. Посылать единичную матрицу Excel, размером 5 на 5 , помещая данные  в диапазон от Строка1, Столбец1 до Строка5, Столбец5:

rc = ddepoke (channel, 'r1c1:r5c5', eye(5));

Пример 2.

Следующий пример - M-файл, который устанавливает сеанс связи DDE с Microsoft Excel, и затем передает 20 на 20 матрицу данных в Excel.

% Инициализировать сеанс свЯзи с Excel.

chan= ddeinit('excel', 'Лист1');

% Создать график поверхности  пиков.

h = surf(peaks(20));

% Получить  данные z- координаты поверхности

z = get(h, 'zdata');

% Диапазон набора Ячеек в Excel длЯ записи по DDE.

range = 'r1c1:r20c20';

% Записать  z данные в лист Excel.

rc = ddepoke(chan, range, z);

ddereq

Данные запроса от приложения

Синтаксис:

data = ddereq(channel,'item')

data = ddereq(channel,'item',format)

data = ddereq(channel,'item',format,timeout)

Описание:

ddereq запрашивает данные от приложения - сервера через установленный сеанс связи DDE.

ddereq возвращает матрицу, содержащую требуемые данные или пустую матрицу, если запрос неудачен.

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

Если успешно, ddereq возвращает матрицу, содержащую требуемые данные в переменной, данных, иначе  возвращает пустую матрицу.

Параметры ddereq:

channel

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

item

Строка, определяющая элемент DDE приложения - сервера называет для данных, которые требуют.

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

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

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

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

Пример 1.

Предположим, что мы имеем электронную таблицу Excel stocks.xls. Эта электронная таблица содержит цены трех акций в строке 3 (столбцы 1 - 3) и число этих акций в строках 6 - 8 (столбец 2).  Создайте в Excel файл stocks.xls, как показано ниже, и выполните в командной строке  MatLAB следующие операторы.

 Цена за акцию, $

Акция А

Акция Б

Акция С

42.5

15

78.88

Тип акций

Число акций

Акция А

100

Акция Б

500

Акция С

300