Cтраница 3
Пользовательские функции должны быть сначала определены. Определение задается при помощи оператора присваивания. В левой части указывается имя пользовательской функции и, в скобках, формальные параметры - переменные, от которых она зависит. Справа от знака присваивания эти переменные должны использоваться в выражении. При использовании пользовательской функции в последующих формулах ее имя вводят вручную. В диалоговом окне Insert Function ( Вставка функции) оно не отображается. [31]
При Sorted false автоматическая сортировка при добавлении каждой строки не производится. Имеется также метод CustomSortT вызов которого обеспечивает сортировку не по алфавиту, а по любому другому критерию, определяемому пользовательской функцией сравнения. [32]
Первая из них позволяет просматривать и редактировать данные символьного типа, вторая делает то же с записями файлов данных ( улучшенный аналог команды BROWSE), а третья позволяет выбирать элементы массива. Особенность всех трех функций заключается в том, что выполненные ими операции могут быть дополнены программистом с помощью созданной им пользовательской функции. Имя этой пользовательской функции включается в число параметров функции высокого уровня, и при любом нажатии клавиши происходит ее вызов с установленным набором параметров. Выполнив определенные действия, предусмотренная программистом пользовательская функция возвращает управление главной функции. [33]
Существует достаточно много функций, имеющих смысл для переменных разного типа. Например, функция МАХ возвращает наибольшее из входных значений. Очевидно, что код команд микропроцессора, оперирующих с переменными типа SINT и REAL, должен быть разным, но с точки зрения языков МЭК это одна и та же функция. Автоматическая генерация разного кода для одной функции в зависимости от типов переменных называется перегрузкой. Реализация перегрузки пользовательских функций сложна для трансляции и спорна. Перегрузка операторов прозрачна для компилятора с точки зрения контроля типов. В пользовательских функциях это может приводить к сложно локализуемым ошибкам. [34]
Пользовательские функции должны быть сначала определены. Определение задается при помощи оператора присваивания. В левой части указывается имя пользовательской функции и, в скобках, формальные параметры - переменные, от которых она зависит. Справа от знака присваивания эти переменные должны использоваться в выражении. При использовании пользовательской функции в последующих формулах ее имя вводят вручную. В диалоговом окне Insert Function ( Вставка функции) оно не отображается. [35]
Существует достаточно много функций, имеющих смысл для переменных разного типа. Например, функция МАХ возвращает наибольшее из входных значений. Очевидно, что код команд микропроцессора, оперирующих с переменными типа SINT и REAL, должен быть разным, но с точки зрения языков МЭК это одна и та же функция. Автоматическая генерация разного кода для одной функции в зависимости от типов переменных называется перегрузкой. Реализация перегрузки пользовательских функций сложна для трансляции и спорна. Перегрузка операторов прозрачна для компилятора с точки зрения контроля типов. В пользовательских функциях это может приводить к сложно локализуемым ошибкам. [36]