13.01.2006
- Добавлена новая функциональная клавиша F6 и пункт меню "Правка" - "Макроподстановщик F6", для подстановки в формульный раздел бланков и типовых операций часто используемых синтаксических конструкций.
- Новые функции в разделе:
"Информация о системе":
ФУНКЦИЯ ТИП_ЛОГИКА: АУСТ_ПЕРЕМ_ОКРУЖ (ТИП_СТРОКА:перем,знач)
Позволяет установить новое значение переменной окружения, <перем> - переменная ,<знач> - Новое значение, например: АУСТ_ПЕРЕМ_ОКРУЖ("TMP",ТЕК_ДИР+"\TEMP")"Работа с окнами:"
ФУНКЦИЯ ТИП_СТРОКА:АТЕКСТ_НАЖАТОЙ_КНОПКИ
Возвращает текст последней нажатой кнопки элементов управления, например можно узнать что в БД_РЕДАКТОР нажата кнопка "OК"ФУНКЦИЯ ТИП_ЛОГИКА: АОБНОВИТЬ_ОКНО //(новая)
Перерисовывает окно. Можно использовать, например, для обновления окна БД_РЕДАКТОР, после внешних SQL запросов к открытой таблице."Диски и файлы":
ФУНКЦИЯ ТИП_ЛОГИКА:АВ_ИНИ_ФАЙЛ(ТИП_СТРОКА:файл,секция,ключ,значение)
Записывает в ini-файл значение, где <файл> - путь к файлу
ФУНКЦИЯ ТИП_ЛОГИКА:АИЗ_ИНИ_ФАЙЛА(ТИП_СТРОКА:файл,секция,ключ;ПЕРЕМ ТИП_СТРОКА:значение)
Считывает из ini-файла значение в переменную.
ФУНКЦИЯ ТИП_ЛОГИКА:АЗАКАЧАТЬ_ФАЙЛ(ТИП_СТРОКА:путь,файл)
Позволяет загрузить файл на локальный компьютер с указанного адреса:
Например: АЗАКАЧАТЬ_ФАЙЛ("http://www.ib.yaroslavl.ru/cgi-bin/click/bsdcc.pl?1","c:\ibalt.exe")"Прочие функции:"
ФУНКЦИЯ ТИП_ЛОГИКА:АПИСЬМО_ИЗ_ФАЙЛА(ТИП_СТРОКА:имяпол,адрпол,заголовок,текст,файл)
Вызывает почтовую программу и создает новое сообщение, где: <имяпол> - имя получателя, <адрпол> - адрес получателя, <заголовок> - заголовок письма, <текст> - путь к файлу с текстом, <файл> - путь к прикрепленному файлу.ФУНКЦИЯ АСИНХРОНИЗАЦИЯ_ВРЕМЕНИ(ТИП_СТРОКА:сервер) //(новая)
Синхронизирует время локального компьютера с временем сервера, например: АСИНХРОНИЗАЦИЯ_ВРЕМЕНИ("\\Server")ФУНКЦИЯ ТИП_ЛОГИКА:АСЧИТАТЬ_КФГ(ТИП_ЧИСЛО:тип;ТИП_СТРОКА:файл)
Функция считывает в память файл конфигурации ИБ, где <тип> - тип cfg файла, 0 - (ibw.cfg или ibwn.cfg), 1 - compiler.cfg),ФУНКЦИЯ ТИП_ЛОГИКА:АДАТЬ_КФГ(ТИП_ЧИСЛО:что;ПЕРЕМ ТИП_СТРОКА:значение)
Возвращает информацию из cfg-файла в переменную <значение>, параметр <что> может принимать значения следующих констант:аДирДбф=0
аФайлБазы=1 //shp - для локальной, dcf - для сетевой
аТипОп=2
аПослЖурн=3
аДирФильтр=4
аДирБланк=5
аДирАрх=6
аДирБибл=7
аФайлРекв=8
аФайлОпред=9
Для compiler.cfg:
аДирИбикс=0
аДирТекст=1
ФУНКЦИЯ ТИП_ЛОГИКА:АИЗМЕНИТЬ_КФГ(ТИП_ЧИСЛО:что;ТИП_СТРОКА:значение)
Заменяет заданный параметр cfg-файла, новым значениемФУНКЦИЯ ТИП_ЛОГИКА:АЗАПИСАТЬ_КФГ(ТИП_СТРОКА:файл)
Записывает измененный cfg-файл.ФУНКЦИЯ СЕТЕВАЯ_БАЗА_В_ФАЙЛ(ТИП_СТРОКА:файл)
Записывает сетевую базу данных в shp - файлФУНКЦИЯ ТИП_ЛОГИКА:БЛАНК_В_ФАЙЛ(ТИП_СТРОКА:файл)
Записывает заполненный бланк в текстовый файл."Работа с памятью"
ФУНКЦИЯ ТИП_ЛОГИКА:АПАМЯТЬ_ЗАМЕНИТЬ(ТИП_ЧИСЛО:инд1,инд2;ТИП_СТРОКА:стр,замена)
Заменяет подстроку - <стр> в в значении динамического массива на подстроку <замена>, где инд1 - номер массива, инд2 - номер значения в массиве."Работа с Excel"
ФУНКЦИЯ ТИП_ЛОГИКА:АИЗ_МАССИВА_ЯЧЕЕК(ТИП_ЧИСЛО:строка,колонка;ПЕРЕМ ТИП_СТРОКА:знач)
Считывает в переменную <знач> значение из массива ячеек.ФУНКЦИЯ ТИП_ЛОГИКА:АВЫДЕЛИТЬ_ЯЧЕЙКИ(ТИП_ЧИСЛО:лист,начстр,начкол,констр,конкол)
Выделяет указанный диапазон ячеек листа.ФУНКЦИЯ ТИП_ЛОГИКА:АВЫДЕЛИТЬ_СТРОКИ(ТИП_ЧИСЛО:лист,начстр,констр)
Выделяет указанный диапазон строк листа.ФУНКЦИЯ ТИП_ЛОГИКА:АКОПИРОВАТЬ_ЯЧЕЙКИ(ТИП_ЧИСЛО:лист)
Копирует в память выделенные ячейки.ФУНКЦИЯ ТИП_ЛОГИКА:АКОПИРОВАТЬ_ЛИСТ(ТИП_ЧИСЛО:лист) (новая)
Копирует в память выделенный лист.ФУНКЦИЯ ТИП_ЛОГИКА:АВСТАВИТЬ_ЯЧЕЙКИ(ТИП_ЧИСЛО:лист)
Вставляет скопированные ячейки.ФУНКЦИЯ ТИП_ЛОГИКА:АРАЗРЫВ_ЛИСТА(ТИП_ЧИСЛО:лист,строка)
Вставляет разрыв страницы.ФУНКЦИЯ ТИП_ЛОГИКА:АДУБЛИРОВАТЬ_СТРОКИ(ТИП_ЧИСЛО:лист,начстр,констр,копий;ТИП_ЛОГИКА:разрыв)
Дублирует диапазон строк в листе.ФУНКЦИЯ ТИП_ЛОГИКА:АВСТАВИТЬ_СТРОКИ(ТИП_ЧИСЛО:лист,начстр,констр,копий)
Вставляет строки.ФУНКЦИЯ ТИП_ЛОГИКА:АВИД_ЛИСТА(ТИП_ЧИСЛО:лист,вид)
Задает вид листа 1- обычный, 2 - разметка страницыФУНКЦИЯ ТИП_ЛОГИКА:АДОБ_В_МАССИВ_ЯЧЕЕК(ТИП_ЧИСЛО:строка,колонка;ТИП_СТРОКА:знач)
Добавляет значения в массив ячеек, т.е. позволяет формировать длинные строки.ФУНКЦИЯ ТИП_ЛОГИКА:АЗАКРЫТЬ_EXCEL
Закрывает открытую книгу.ФУНКЦИЯ ТИП_ЛОГИКА:АEXCEL_СОХРАНИТЬ_КАК(ТИП_ЧИСЛО:лист,тип;ТИП_СТРОКА:файл)
Позволяет сохранить выбранный лист открытой книги в файл, где <тип> - тип файла, например 11 - это dbf"Работа с меню"
ФУНКЦИЯ ТИП_ЧИСЛО:АНАЙТИ_МЕНЮ_НОМ(ТИП_СТРОКА:назв)
Позволяет узнать порядковый номер пункта главного меню программы."Визуальные компоненты"
ТИП_ЛОГИКА:АИЗ_ФАЙЛА(ТИП_СТРОКА:файл)
Метод считывает текст из файла в поле ввода или метку.Компонент "КомбоБокс" автоматически раскрывает список по клавише F2.
Компонент "ПолеВвода", при установленном типе аЧисло, может рассчитывать введенные в него простые арифметические выражения, при нажатии клавиши F2 или кнопки "=", справа.
22.06.2005 вер. 2.0.0.3
- Информацию о функциях библиотеки теперь можно получить по правой кнопке мыши.
- Добавлена новая функция:
ФУНКЦИЯ ТИП_ЧИСЛО:АПОСЛЕДНЯЯ_КЛАВИША(ТИП_ЛОГИКА: цикл)
Возвращает код последней нажатой клавиши. Для использования в цикле: аргументу < цикл > присваиваем ДА, что позволяет обрабатывать различные сообщения, т.е. не только отлавливать нажатия клавиш пользователем, но, и дает возможность выполнять другие действия в программе. Т.е. при длительных циклах можно устранить зависание программы, а также организовать возможность выхода из цикла по нажатию определенных клавиш.
Пример:
ЦИКЛ ПОКА(ДА)
кл=АПОСЛЕДНЯЯ_КЛАВИША(ДА)
ЕСЛИ кл=27 ТО
ЕСЛИ ВОПРОС("Прервать расчет") ТО СТОП КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ
//27 - код клавиши ESC
КОНЕЦ_ЦИКЛА
Если аргумент <цикл> равен ДА, то повторный вызов функции вернет 0 (если больше никаких клавиш не было нажато), если аргумент <цикл> равен НЕТ, то в цикле использовать эту функцию бесполезно, она всегда возвратит 0
- Для функции АНАЖАТЬ_КЛАВИШУ
и АНАЖАТЬ_КЛАВИШИ добавлена
общая переменная ТИП_ЧИСЛО: адоб_клавиша,
позволяющая эмулировать нажатие
комбинации клавиш. Принимает
значение комбинации следующих
констант:
гкНет - нет
добавочных клавиш
гкАльт - нажата
клавиша Alt
гкКонтрол - нажата
клавиша Control
гкШифт - нажата
клавиша Shift
Например:
номер_окна=АДАТЬ_ФОКУС
тип_окна="р"
адоб_клавиша=гкКонтрол+гкШифт АНАЖАТЬ_КЛАВИШУ(39)
//аналогично комбинации клавиш Control
- Shift - Стрелка вправо
адоб_клавиша=гкКонтрол
АНАЖАТЬ_КЛАВИШУ(45) //
аналогично нажатию клавиш Control - Ins
Это изменение используется при получении справки по функциям библиотеки по клавише F5, теперь не надо выделять функцию.
07.06.2005 вер. 2.0.0.2
- По клавише F5 сделана разбивка на группы функций.
- Сделано выделение текста при перемещении между компонентами
- Исправлены ошибки:
при вызове диалога из диалога, в родительской форме переставали работать обработчики событий.
- Для функции АДИАЛОГ_ВВОДА добавлено:
общая переменная <аФокусОбъекта> позволяющая устанавливать фокус на поле ввода с соответствующим номером, по умолчанию аФокусОбъекта=1
общая переменная <аНазваниеКнопкиОК> и <аНазваниеКнопкиОтмена> задающие названия кнопок, по умолчанию аНазваниеКнопкиОК="Ок" аНазваниеКнопкиОтмена="Отмена"
- Для метода АДОБ_ЗНАЧ(ТИП_ЧИСЛО:индекс;ТИП_СТРОКА:знач) при индекс=0 сделано последовательное добавление значений в КомбоБокс, Список и многострочное поле ввода.
- Для объектов "КомбоБокс" и "Список" появилась возможность добавлять (F7) и удалять (F8) строки, в том случае, если разрешено их редактирование.
16.05.2005 вер. 2.0.0.1
- Улучшен механизм перемещения между компонентами формы, кроме стандартного "Tab" и "Shift - Tab" можно пользоваться стрелками (вверх, вниз, влево, вправо)
- Исправлены ошибки:
для компонентов "Переключатель" и "Радиокнопка" - непоявлялся коментарий в строке статуса.
пропадало окно диалога при переключении между открытыми на рабочем столе программами.
функция АВЫКЛ_DLL не вызывает теперь подвисания программы (хотя эта ситуация была только в NT и XP, если использовать эту функцию в бланке. Вообще, загрузку и выгрузку библиотеки лучше всего делать в соответствующих обработчиках входа и выхода из программы, дитрибутив библиотеки делает это сам, только не забывайте, что после очередного обновления бланков, необходимо заново устанавливать библиотеку.)
при переключении с базы на базу и смены пользователя в сетевой версии меню ibalt не размножается.
- Добавлены функции:
ФУНКЦИЯ ТИП_ЧИСЛО:АНАЙТИ_МЕНЮ_ИД(ТИП_СТРОКА:назв), возвращающая идентификатор меню по его названию. Таким образом, можно проверять существование пункта меню. Если вызвать функцию с пустым параметром, то в файл "menu.log" запишется информация о всех пунктах меню программы.
ФУНКЦИЯ ТИП_СТРОКА:АНАЙТИ_МЕНЮ_ТЕКСТ(ТИП_ЧИСЛО:ид) Возвращает текст меню по его идентификатору. Таким образом, можно проверить, не занят ли идентификатор.
ФУНКЦИЯ ТИП_ЛОГИКА:АВЫБРАТЬ_МЕНЮ(ТИП_ЧИСЛО:ид). Эмулирует выбор пункта меню, где <ид> - числовой идентификатор меню.
Для функции АДИАЛОГ_ВВОДА добавился новый тип полей аВыбор, если аТип_Объекта_!к=аВыбор, то вместо поля ввода появится комбобокс, и следующие общие переменные:
ПЕРЕМ аВыборОбъект_!
задает список строк комбобокса, в
качестве индекса используется
следующа конструкция
инд=СТР(к)+"_"+СТР(п), где <к> -
номер компонента, а <п> - номер
строки комбобокса. Таким образом,
если перед вызовом функции АДИАЛОГ_ВВОДА
прописать:
аВыборОбъект_!"1_1"="Строка
1"
аВыборОбъект_!"1_2"="Строка
2"
аВыборОбъект_!"1_3"="Строка
3"
то появится комбобокс, с
возможностью выбора из трех
значений. Переменной аЗначОбъекта_!
для комбобокса можно задавать или
номер строки по умолчанию или ее
значение.
ПЕРЕМ аКоммОбъекта_!
задает комментарий к полю,
появляется в строке статуса
диалога когда поле активно
ПЕРЕМ аРедОбъект_!
поле ввода только для чтения
ПЕРЕМ аДоступен_!
если НЕТ, то поле становится
недоступным для редактирования
20.04.2005 - первая официальная публикация версии 2.0.