Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Функции импорта файлов

Ввод задачи в LINGO | Язык моделирования LINGO | Решатели, используемые внутри LINGO | Команды LINGO | Закладка LINK | Создание источника пользовательских данных | Экспортирование данных из LINGO | Закладка I N T E R F A C E | ЗАКЛАДКА GENERAL SOLVER | Закладка NONLINEAR SOLVER |


Читайте также:
  1. III. B. Функции слова ONE
  2. Other Functions of Money. Другие функции денег
  3. V) Массивы и функции
  4. Абстрактные базовые классы и чисто виртуальные функции
  5. Абстрактные базовые классы и чисто виртуальные функции.
  6. Анализ структуры экспорта и импорта товаров Республики Беларусь
  7. Аппроксимация 1s –функции электрона в атоме водорода двумя гауссовыми функциями

 

@IMPORT (имя файла электронной таблицы, имя диапазона данных);

Параметр имяфайлаэлектроннойтаблицы может иметь до 64 символов и может содержать имя дисковода и путь. Не забудьте включать расширение в имя файла (например,.WK4,.XLS). Параметр имя диапазона данных обозначает именованный прямоугольный диапазон ячеек в электронной таблице, содержащий данные для импорта. Команда присваивания имени этому диапазону зависит от типа электронной таблицы.

Функция @IMPORT допустима только в секции DATA модели. LINGO переходит к диапазону в указанной электронной таблице, чтобы прочитать значения в переменную или массив, подлежащий инициализации. Блок данных может быть упорядочен вертикально, горизонтально или в виде таблицы. LINGO читает данные из диапазона электронной таблицы построчно, начиная с левого верхнего угла.

Количество ячеек в диапазоне должно быть равно количеству элементов в массиве, который инициализируется. Любая пустая ячейка в диапазоне трактуется как нуль.

@FILE (имя файла);

Функция @FILE в LINGO позволяет построить текущую модель, используя текст или данные из других файлов. Эти файлы известны как включаемые файлы. Если LINGO встречает при компилировании модели оператор

@FILE(example);

то программа начинает считывать текст из файла с именем example. Она продолжает считывать текст из этого файла до тех пор, пока не встретится символ конца файла или в LINGO не встретится маркер конца записи (~). Для последовательно встречающихся в одной модели операторов@FILE, LINGO будет продолжать брать данные из файла с того места, на котором было остановлено предыдущее чтение. Вложенные функции @FILE (вызовы @FILE из файла, который сам вызван посредством @FILE) не допускаются. Детали можно найти в главе 8 «Работа с данными».

@ODBC(база-источник, таблица, поле);

Функция @FILE в LINGO позволяет использовать технологию ODBC для передачи значений, полученных в решении, (и обратно) в целевую базу данных, зарегистрированную в Windows в качестве исходной базы данных. Для этого необходимо драйверы ODBC для приложений баз данных.

Для работы требуются некоторые приготовления. Вы должны создать файл базы данных с данными, которые вы намереваетесь импортировать, и полями, достаточными для размещения массивов, которые вы собираетесь экспортировать. Поля должны быть именованными так, чтобы они легко запоминались и ассоциировались с массивами. Эта база данных должна быть зарегистрирована на платформе Windows как пользовательская база данных – источник. Относительно деталей по установке базы данных ODBC см. раздел «Команды Windows» в главе «Команды LINGO».

Использование функции @ODBC разрешается в секции SETS модели для импорта имен элементов множеств. Данные в этих полях должны быть текстовыми. LINGO не допускает использование чисел для имен элементов множеств. В секции SETS система LINGO использует заголовок (TITLE) модели для обозначения базыданных источника и имя множества, как для обозначения таблицы, так и обозначения поля. Например, если LINGO встречает в процессе компиляции следующий оператор:

 

TITLE Transportation;

SETS:

PLANTS / @ODBC()/: CAPACITY, VOLUME;

ENDSETS

 

… то LINGO использует ODBC для чтения каждой записи в поле PLANTS таблицы PLANTS при транспортировке базы данных – источника в элементы множества модели LINGO.

Третья строка в этом примере может быть записана также в виде:

PLANTS / @ODBC(‘Transportation’,’Plants’,’Plants’)/: CAPACITY;

 

Использование функции @ODBC для импорта или экспорта данных разрешается в секции DATA модели. Если функция появляется справа от знака равенства, данные будут импортированы из источника данных. Если она находится слева от знака равенства, данные будут экспортированы в источник данных. В секции DATA система LINGO использует TITLE (заголовок модели) для обозначения базыданных источника, первоначальное множество — для обозначения таблицы, а атрибуты — для обозначения поля. Например, если при компиляции LINGO встретит следующие операторы:

 

DATA:

CAPACITY = @ODBC();

@ODBC() = VOLUME;

ENDDATA

 

то LINGO будет использовать ODBC в первом случае для чтения каждой записи в поле CAPACITY таблицы PLANTS при транспортировке базы данных – источника в соответствующий атрибут CAPACITY множества PLANTS. После решения модели с полученными данными LINGO затем экспортирует каждое значение атрибута VOLUME множества PLANTS в поле VOLUME таблицы PLANTS базы данных. Функции ODBC этого примера могут быть также записаны в виде:

 

CAPACITY = @ODBC(‘Transportation’,’Plants’,’Capacity’);

@ODBC(‘Transportation’,’Plants’,’Volume’) = VOLUME;

 

Замечание: Функция доступна только в версии LINGO под Windows.

 

@OLE (электронная_таблица, диапазон1, диапазон2...);

 

Функция @OLE позволяет использовать OLE технологию для передачи значений в таблицу Excel (и наоборот), используя механизмы передачи непосредственно в памяти.

Необходимы некоторые предварительные действия. Вы должны создать файл электронной_таблицы с диапазонами и данными, которые вы собираетесь импортировать из таблицы, и диапазонами, с достаточным местом для размещения массивов, которые вы собираетесь экспортировать в электронную таблицу. Диапазоны (диапазон1, диапазон2 и т.д.) должны быть именованными так, чтобы они легко запоминались и ассоциировались с массивами.

Функцию @OLE разрешается использовать только в секции DATA для импорта и экспорта числовых данных. Если функция фигурирует в правой части уравнения, данные будут импортироваться из источника данных. Если она находится в левой части уравнения, данные будут экспортироваться в источник данных (электронную таблицу).

Например, если при компиляции LINGO встретит следующие операторы:

 

DATA:

COST, NEEDS = @OLE(‘D:\STAFFOLE.XLS’,’COST’,’NEEDS’);

@OLE(‘D:\STAFFOLE.XLS’,’START’) = START;

ENDDATA

… то LINGO будет использовать OLE в первом случае для чтения каждой записи в диапазоне COST электронной_таблицы D:\STAFFFOLE/XLS и присваивания их атрибуту COST. Аналогично импорт будет использоваться для атрибута NTTDS. После решения задачи с поставленными данными LINGO будет затем экспортировать каждое значение атрибута START в диапазон START электронной_таблицы D:\STAFFOLE\XLS. Если имена диапазонов будут в этом случае опущены в функции @OLE, то LINGO будет использовать имена атрибутов.

OLEEXP может посылать данные решения в таблицы, созданные Excel 5, Excel 7 и Excel 97. Все диапазоны получателя должны быть двумерными (то есть они не могут распространяться на несколько рабочих листов рабочей книги.

 

Замечание: @OLE работает только в версии LINGO под Windows.

 


Дата добавления: 2015-11-16; просмотров: 50 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ЗАКЛАДКА INTEGER SOLVER| Вероятностные функции

mybiblioteka.su - 2015-2024 год. (0.008 сек.)