Одной из важнейших частей языка RSL

Одной из важнейших частей языка RSL, разработанного программистами R-Style Software
Lab., является интегрированная среда разработки программ.
Эта среда объединяет три мощных инструмента, с помощью которых пользователь может
создавать на языке RSL приложения для работы с Btrieve-файлами: Читать далее

DLM-модуль

Следовательно, для каждой из платформ, на которых может работать интерпретатор RSL,
требуется своя версия DLM-модуля. Для того, чтобы одна и та же макропрограмма,
созданная с использованием DLM SDK, могла исполнятся разными интерпретаторами RSL
принято следующее соглашение о выборе имен для DLM-модулей: Читать далее

CmdArgs : string

CmdArgs : string
Процедура возвращает строку с параметрами, которая задается в командной строке при
старте приложения.
Пример:
/* Запуск утилиты RSL со строкой параметров «Par1 par2 par3″: */
rsl32.exe bank.def 00.mac «Par1 par2 par3″
/* В этом случае процедура CmdArgs возвратит значение: */
/* «Par1 par2 par3″ */ Читать далее

Exit ( [integer] [, string] )

Данная процедура прекращает выполнение макропрограммы. Если эта процедура вызвана в
рамках транзакции, то она завершает выполнение макросов, вызванных для выполнения
транзакции, и актуализирует все изменения, внесенные в файлы в рамках транзакции как на
RSL, так и в вызывающем модуле на C или C++. Процедура ProcessTrn при этом
возвращает значение TRUE. Вся RSL-программа при этом не завершается.
Первый параметр типа V_INTEGER задает режим просмотра результата работы
программы. Если его значение равно 1, то результат работы программы не будет
показываться в окне просмотра. Если значение равно 2, то файл вывода не показывается, а
сразу распечатывается на принтере. Читать далее

Обработка скроллинга

Обработка скроллинга
Данный раздел содержит описание переменных и макропроцедур обработки скроллинга,
определенных в макромодуле RslScr.
ПеременныеUserFill ( dlg )
Эта процедура вызывается каждый раз перед перерисовкой области скроллинга.
Оригинальная процедура не выполняет никаких действий. Она может быть заменена при
помощи процедуры ReplaceMacro на процедуру, выполняющую нужные пользователю
действия. Читать далее

GetCurDir ( [isRemote:bool] ) : string

GetCurDir ( [isRemote:bool] ) : string
Процедура возвращает название текущего каталога на сервере. Если задан параметр
isRemote и его значение равно TRUE, то возвращается название текущего каталога на
терминале.
Пример: Читать далее

SelectFile ( file [, mask, head] )

SelectFile ( file [, mask, head] )
Данная процедура выводит на экран стандартное диалоговое окно выбора файла (см.
Руководство «Общие документы. Приложение»).
Процедура возвращает TRUE, если файл был выбран. При этом параметр file принимает
значение имени выбранного файла.
Параметр mask содержит строку, определяющую шаблон имени файла, который
необходимо выбрать. По умолчанию данный параметр содержит название текущего
каталога. Читать далее

Параметр MacroName задает процедуру

Параметр MacroName задает процедуру, которая вызывается для выполнения транзакции на
языке RSL. В качестве параметра может быть передано одно из следующих значений:
¦ текстовую строку с именем глобальной макропроцедуры;
¦ ссылку на макропроцедуру;
¦ ссылку на метод класса, полученную с помощью процедуры R2M. Читать далее

Если структура буферов различна

Если структура буферов различна, то для каждого поля из буфера id2 будет производиться
поиск поля с таким же именем в буфере id1. Если такое поле найдено, и его тип совпадает с
типом поля в буфере id2, выполняется побайтное копирование.
Для полей с разным типом предварительно, если возможно, выполняется преобразование.
Поля в id1, для которых не обнаружено соответствующих полей в id2, обнуляются.
Данная процедура позволяет также выполнять копирование буферов DBF-файлов.
KeyNum ( id [, newkey] ) Читать далее

GetRecordSize

GetRecordSize ( id )
Процедура возвращает размер в байтах структуры или файла с идентификатором, заданным
параметром id. Это значение вычисляется на основании информации из словаря базы
данных.
Пример:
file fl (account);
record rec (document);
fsize = GetRecordSize (fl);
rsize = GetRecordSize (rec); Читать далее