Компьютерные науки - Учебники на русском языке - Скачать бесплатно
SET...ON/OFF - выключатель индикации разделителей.
SET...TO - определяет один или два символа-разделителя.
Указание одного символа вызывает его использование и в начале и
в конце выделяемого выражения. Указание DEFAULT или отсутствие
символов устанавливает символ-разделитель (:).
Использование: Пробел может быть использован в символьном
выражении () для подавления как правого так и левого (или
обоих) ограничителей.
Примеры:
В этом примере ограничителями объявляется пара символов ([]).
mvar = SPACE (5)
SET DELIMITERS TO "[]"
SET DELIMITERS ON
@ 1, 0 SAY "Enter" GET mvar
READ
Результат:
Enter [ ]
В следующем примере начальный ограничитель устанавливается (:),
а конечный ( ).
mvar = SPACE (5)
SET DELIMITERS TO ": "
SET DELIMITERS ON
@ 1, 0 SAY "Enter" GET mvar
READ
Результат:
Enter :
Библиотека: CLIPPER.LIB
См.также: @...GET.
SET DEVICE
Синтаксис: SET DEVICE TO
Назначение: Перенаправление вывода @...SAY на экран или принтер.
SCREEN - устанавливает вывод на экран независимо от состояния
SET PRINT или SET CONSOLE.
PRINT - направляет все выводы на устройство, установленное в SET
PRINTER TO. Этим устройством может быть принтер, сетевой буфер
или файл.
Использование: В случае SET DEVICE TO PRINT, @...SAY выводят
информацию на принтер и не повторяют ее на экране. @...GET
игнорируются.
- 104 -
Посылая @...SAY на принтер, Clipper выполняет автоматический
прогон страницы всякий раз, когда текущая позиция головки
оказывается меньше последней напечатанной. Однако EJECT
сбрасывает значения указателей строки и столбца в 0. Кроме того
можно установить новые значения этих величин при помощи
SETPRC().
Чтобы направить выход @...SAY в файл, можно воспользоваться SET
PRINTER TO после SET DEVICE TO PRINT.
Пример:
SET DEVICE TO PRINT
@ 2, 10 SAY " Печать"
EJECT
Библиотека: CLIPPER.LIB
См.также: @...SAY, EJECT, SET PRINTER TO, PROW(), PCOL(), SETPRC().
SET ESCAPE
Синтаксис: SET ESCAPE ON/off/()
Назначение: Выключатель возможности завершать программу
последовательностью Alt-C или выходить из READ при помощи Esc.
Использование: В случае SET ESCAPE ON ввод Alt-C вызывает
индикацию сообщения: (Q/A/I), где:
Q - выход (закрывает все файлы);
А - выход в DOS;
I - продолжение выполнения текущей команды.
SET ESCAPE OFF делает невозможным завершение программы и выход
из READ при помощи Alt-C и Esc. Однако SET KEY улавливает код
ключа для Esc, поэтому имеется возможность определять полученный
ключ в подпрограмме.
Библиотека: CLIPPER.LIB
См.также: READ, SET KEY.
SET EXACT
Синтаксис: SET EXACT on/OFF/()
Назначение: Определяет способ сравнения двух символьных строк.
Использование: В случае SET EXACT OFF две символьные строки
сравниваются по следующим правилам:
1. Строки объявляются одинаковыми (.T.).
- 105 -
2. Строки посимвольно проверяются на совпадение. Процесс
заканчивается либо по окончании строки, стоящей справа от
оператора, либо при обнаружении первого несовпадения (.F.).
Здесь необходимо отметить, что:
- Две строки могут оказаться равными имея разную длину.
- Строка, имеющая длину отличную от нуля, может оказаться равно
нулевой строке. Такое может случится когда нулевая строка будет
располагаться справа от оператора. В этом случае не будет
произведено ни одного сравнения и результат останется неименным
- (.T.).
При SET EXACT ON чтобы получить результат (.T.) две строки
должны совпадать полностью за исключением завершающих пробелов.
Примеры:
SET EXACT OFF
? "123" = "12345" && Результат: .F.
? "12345" = "123" && Результат: .T.
? "123" = " " && Результат: .T.
? " " = "123" && Результат: .F.
SET EXACT ON
? "123" = "123 " && Результат: .T.
? " 123" = "123" && Результат: .F.
Библиотека: CLIPPER.LIB
См.также: DISPLAY, FIND, LIST, LOCATE, SEEK, ==.
SET EXCLUSIVE
Синтаксис: SET EXCLUSIVE ON/off/()
Назначение: Переключатель автоматического исключительного
доступа в сети к файлам данных и их сопровождению ( (.mem),
(.ntx)).
В случае SET EXCLUSIVE ON все файйлы данных и файлы их
сопровождающие при их инициализации USE получают статус
"неделимых" и не могут быть использованы другими пользователями
до их закрытия. В случае же SET EXCLUSIVE OFF исключительность
доступа, если таковая необходима, должна контролироваться при
помощи RLOCK(), FLOCK() и USE...EXCLUSIVE.
Библиотека: CLIPPER.LIB
См.также: USE...EXCLUSIVE, FLOCK(), RLOCK().
SET FILTER
Синтаксис: SET FILTER TO [<эусловие>]
- 106 -
Назначение: Представить файл данных таким образом, как если бы
он состоял только из записей, удовлетворяющих указанному условию
(фильтрация).
<эусловие> - условие фильтрации. Чтобы отменить условие
фильтрации, необходимо выполнить команду без аргументов.
Использование: Каждая рабочая область может иметь один активный
фильтр. После определения условия фильтрации необходимо
активировать фильтр, изменив значение текущего указателя
записей. Удобно для этой цели пользоваться GO TOP.
Аналогично SET DELETED, фильтр не действует на выполнение команд
INDEX и REINDEX. В то же время можно обращатьсся к задержанным
при фильтрации записям, используя команды непосредственного
доступа (GOTO, LIST и т.д.).
Примеры:
USE Customers
SET FILTER TO Zipcode > "50000"
GO TOP
LIST Lastname, Zipcode
SET FILTER TO
Библиотека: CLIPPER.LIB
См.также: SET DELETED.
SET FIXED
Синтаксис: SET FIXED on/OFF/()
Назначение: Переключатель контроля числового вывода в
соответствии с текущим состоянием SET DECIMAL.
ON - вывод всех чисел производится под контролем SET DECIMAL
(два знака по умолчанию).
OFF - количество позиций зависит от типа исполняемой операции и
следует следующим правилам:
Операция Количество знаков после запятой
----------------------------------------------------------------
Сложение То же, что и у операнда с максимальным
Вычитание значением этого параметра.
Умножение Сумма значений параметров.
Деление SET DECIMALS
Возведение в степень SET DECIMALS
EXP(),LOG(),SQRT() SET DECIMALS
VAL() То же, что и у операнда.
- 107 -
Библиотека: CLIPPER.LIB
См.также: SET DECIMALS, EXP(), LOG(), SQRT(), VAL().
SET FORMAT
Синтаксис: SET FORMAT TO
Назначение: Активирование процедуры форматирования экрана, что
позволяет выполнять ее автоматически при каждом исполнении READ.
- (.fmt), (.prg)-файлы или имя подпрограммы.
SET FORMAT без аргументов дезактивирует текущий формат.
Использование: Описание формата экрана суть подпрограмма, такая
же, как и любые другие, с тем лишь отличием что для их вызова
применяется другой способ. В данном случае на этапе компиляции
форматный файл запрашивается с диска, как обычная подпрограммная
ссылка. Вследствие этого подпрограммы форматирования могут
хранится в (.prg)-файлах.
В случае компиляции (.CLP)-файлов с программой, содержащей
форматные ссылки, соответствующие форматные файлы должны иметь
расширение (.prg).
Количество активных форматов не может быть более одного.
Объявления форматов не могут быть вложенными. Клиппер игнорирует
SET FORMAT внутри формат-подпрограммы.
Перед выполнением прцедуры экран не очищается. Клиппер не
поддерживает многостраничное форматирование.
Пример:
USE Sales
SET FORMAT TO Sales_scr
DO WHILE LASTKEY() <> 27
APPEND BLANK
READ
ENDDO
RETURN
PROCEDURE Sales_scr
CLEAR
@ 12,12 SAY "Branch : " GET Branch
@ 13,14 SAY "Salesman : " GET Salesman
RETURN
Библиотека: CLIPPER.LIB
См.также: @...SAY...GET, READ.
SET FUNCTION
- 108 -
Синтаксис: SET FUNCTION TO
Назначение: Ставит в соответствие функциональной клавише строку
символов, которая пересылается в буфер клавиатуры при нажатии
этой клавиши.
- номер функциональной клавиши.
- строка символов (до 2000 элементов).
Использование: Пересылаемая в буфер клавиатуры строка может
содержать и контрольные символы (например Ctrl-C для завершения
READ). Следует помнить, что назначения, сделанные SET KEY имеют
более высокий приоритет чем SET FUNCTION.
Команда может использовать функциональные ключи 2-40 (клавиша F1
резервируется для исполнения Help.prg и не может быть
использован командой).
Таблица соответствия между функциональными ключами и реальными
ключами клавиатуры:
Функ. ключ Реальный ключ
----------------------------------------------------------------
1-10 F1-F10
11-20 Shift-F1 - Shift-F10
21-30 Ctrl-F1 - Ctrl-F10
31-40 Alt-F1 - Alt-F10
----------------------------------------------------------------
Библиотека: CLIPPER.LIB
См.также: SET KEY.
SET INDEX
Синтаксис: SET INDEX TO [/()...]
Назначение: Открывает указанный индекс-файл в текущей рабочей
области.
- имена одного или более (до 15) индекс-файлов,
открываемых в текущей рабочей области. Элементы списка
разделяются запятыми.
Использование: Расширения файлов по умолчанию назначаются (.ntx)
или (.ndx). Можно указать дисковод и путь доступа. CLOSE INDEX
или SET INDEX TO без аргументов закрывают все индексные файлы,
открытые в текущей рабочей области. В случае, когда в рабочей
области открываются несколько индекс-файлов, то основным,
"контрольным становится первый. Для замены контрольного индекса
необходимо воспользоваться SET ORDER.
Индексные файлы могут быть определены с помощью
макро-переменных, однако, каждый файл должен определятся в этом
случае отдельной переменной.
- 109 -
Пример недопустимого использования макро-переменной:
ntx_list = "Name, Account"
SET INDEX TO &ntx_list
Та же ситуация в правильном оформлении:
ntx_1 = "Name"
ntx_2 = "Account"
SET INDEX TO &ntx_1, &ntx_2
Макроподстановки нулевой строки или пробелов игнорируются.
Библиотека: CLIPPER.LIB
См.также: CLOSE, INDEX, REINDEX, SET ORDER, USE.
SET INTENSITY
Синтаксис: SET INTENSITY ON/off/()
Назначение: Переключатель цвета GET.
Использование: Если SET INTENSITY OFF - цвет выводимого GET тот
же, что и для SAY. В случае же SET INTENSITY ON (по умолчанию),
для GET используется цвет, определенный во второй паре
аргументов SET COLOR. Необходимо отметить, что SET INTENSITY не
оказывает влияния на другие команды и функции, выводящие
информацию на экран.
Библиотека: CLIPPER.LIB
См.также: @...SAY...GET, SET COLOR.
SET KEY
Синтаксис: SET KEY TO []
Назначение: Позволяет инициализировать выполнение указанной
процедуры нажатием определенной клавиши.
- значение, возвращаемое INKEY() для указанного ключа.
(См. в приложении G список значений ключей).
- имя процедуры, выполняемой при нажатии
клавиши.Если процедура не указана, то указанный ключ
освобождается от своего назначения.
Использование: SET KEY действует во время пауз, создаваемых
такими командами как: WAIT, READ, ACCEPT, INPUT, MENU TO.
INKEY() к ним не относится. Максимальное количество одновременно
назначенных ключей равно 32. Ключ F1 резервируется системой для
вызова подсказок. В процедуре, вызванной с помощью SET KEY
нельзя использовать CLEAR, READ (для очистки экрана можно
пользоваться @ 0,0 CLEAR. SET KEY имеет перед SET FUNCTION
- 110 -
приоритет в смысле назначения ключей.
Библиотека:CLIPPER.LIB
См.также: KEYBOARD, SET FUNCTION, LASTKEY().
SET MARGIN
Синтаксис: SET MARGIN TO
Назначение: установка левого поля для всех выводов на принтер.
- позиция столбца ограничителя.
Использование: SET MARGIN не действует на экранные выводы, но
имеет влияние на все выводы на печать, включая REPORT, LABEL
FORM. По умолчанию левая позиция равна нулю.
Пример:
USE Sales
SET MARGIN TO 5
LIST Branch, Salesman TO PRINT
Библиотека: CLIPPER.LIB
См.также: @...SAY...GET,SET DEVICE, SET PRINT
SET MESSAGE
Синтаксис: SET MESSAGE TO[[CENTER]]
Назначение: Определение номера строки, в которой будут
индицироваться все сообщения, объявленные для очередного меню
(@...PROMPT...MESSAGE).
- номер строки. В случае CENTER сообщение будет
отцентрированов в строке, по умолчанию же будет выведено с
нулевой позиции.
Пример:
SET MESSAGE TO 23 CENTER
@ 5, 5 PROMPT "One" MESSAGE "Choice one"
@ 6, 5 PROMPT "Two" MESSAGE "Choice two"
MENU TO choice
Библиотека: CLIPPER.LIB
См. также: @...PROMPT,MENU, SET WRAP
SET ORDER
Сиснтаксис: SET ORDER TO []
- 111 -
Назначение: активировать один из открытых индексных файлов.
- позиция активируемого индекса в списке открытых
индекс-файлов. Этот номер может иметь значения от 0 до 15.
Исполнение SET ORDER TO 0 вызывает установку изначального
порядка в файле данных (по записям) при открытых индекс-файлах.
Использование: при активации нового индекса все другие
переписываются в случае добавления новых или редактирования
существующих записей.
Пример:
USE Customers
INDEX ON Lastname TO Names
INDEX ON City + State TO Region
SET INDEX TO Names, Region
*
SET ORDER TO 2
? INDEXKEY(INDEXORD()) && Result: City + State
SET ORDER TO 0
? INDEXKEY(INDEXORD()) && Result: null value
SET ORDER TO 1
? INDEXKEY(INDEXORD()) && Result: Lastname
Библиотека: CLIPPER.LIB
См. также: INDEX, REINDEX, SET INDEX, USE, INDEXEXT(),
INDEXKEY(), INDEXORD().
SET PATH
Сиснтаксис: SET PATH[]
Назначение: указание транслятору пути доступа к используемым
файлам.
- определяет путь доступа, которым транслятор будет
пользоваться, если какой-то файл не будет найден в текущей
директории. В случае, если необходимо указать несколько путей
доступа, то их располагают в виде списка, разделяя <,> или <;>.
Команда SET PATH должна полностью умещаться в одной строке.
Использование SET PATH без аргументов разрешает поиск файла
только в текущей директории.
Использование: SET PATH позволяет транслятору иметь доступ к
файлам другой директории или на другом диске. Поиск файла
транслятор начинает с текущего диска и директории, которые
определены ситуацией в момент запуска программы или SET DEFAULT.
В случае неудачи поиск продолжается с использование указанных
путей доступа.
Все это, однако, относится только к поиску уже существующих
файлов. Если же необходимо создать новый файл на другом диске и
директории, необходимо воспользоваться SET DEFAULT TO
или полностью указывать путь доступа к создаваемому
файлу.
Чтобы настроить скомпилированную программу на определенный путь
- 112 -
доступа во время исполнения необходимо переслать из DOS в
программу путь доступа в виде переменной. Например, в DOS:
c>SET CLIP_PATH=C:\APPS\DATA,C:\APPS\PROGS
Позднее в исполняемой программе:
path_set = GETE("CLIP_PATH")
SET PATH TO &path_set
Библиотека: CLIPPER.LIB
См. также: DIR, SET DEFAULT, FILE()
SET PRINT
Синтаксис: SET PRINT on/OFF(<эвырL>)
Переключает режим отображения выхода на принтер для команд,
отличных от @...SAY.
Когда SET PRINT установлен в ON, выход, пересылаемый на принтер,
пересылается также на экран, до тех пор, пока не появится
команда SET CONSOL OFF. Выходы команд @..SAY, тем не менее, не
подчиняется установке SET PRINT ON. Для того, чтобы переслать их
на принтер, используйте команду SET DEVICE TO PRINT.
Отметьте, что такие команды, как REPORT и LABEL FORM, могут
направлять выход на принтер из соответствующей командной строки.
Для того, чтобы подавить тем не менее выход на экран, Вы должны
использовать установку SET CONSOL OFF.
Примеры:
USE Customers
SET PRINT ON
SET CONSOLE OFF
DO WHILE .NOT.EOF()
? Customer
SKIP
ENDDO
EJECT
SET PRINT OFF
SET CONSOLE ON
CLOSE DATABASES
RETURN
Библиотека: CLIPPER.LIB
Смотри
также: EJECT,SET CONSOLE,SET DEVICE,SET PRINTER.
SET PRINTER
Синтаксис: SET PRINTER TO [<эустройство>/<эфайл>/(<эвырC>)]
- 113 -
Цель: Переопределить направление вывода печати.
<эустройство> пересылает вывод печати на сетевое или локальное
устройство. Для некоторых сетей принтером рабочей станции должен
быть предварительно назначен принтер сетевой машины. <эфайл>
пересылает все выходы печати, включая @...SAY, в файл с
указанным именем. Если Вы не укажете расширения файла, то
Клиппер автоматически добавит расширение .prn.
SET PRINTER TO без аргументов закрывает файл вывода печати и
восстанавливает направление вывода печати на устройство,
принимаемое по умолчанию.
Направление вывода печати SET PRINTER TO на несуществующее
устройство создает файл с таким именем.
Устройство по умолчанию - PRN.
Использование:
SET PRINTER направляет вывод печати из любой свянной с печатью
команды на указанное устройство. Именами устройств могут быть
следующие: LPT1, LPT2, LPT3 (все параллельные порты), COM1 и
COM2 (последовательные порты).
---------------------------------------------------------------¬
¦ ОТМЕТЬТЕ ! При указывании имен устройств необязательно ¦
¦ указывать последний символ имени. ¦
L---------------------------------------------------------------
Эта возможность имеет ряд использований:
* Вы можете переходить с одного порта на другой, управляя
несколькими принтерами.
* Вы можете направить вывод печати в файл для дальнейшей
распечатки или передачи удаленному компьютеру посредством
телекоммуникации.
* Вы можете обнулить очередь на печать и восстановить
устройство вывода, принимаемое по умолчанию.
Примеры:
Этот пример направляет вывод печати на LPT1 и обнулить очередь
на печать после выполнения печати:
SET PRINTER TO LPT1
<эПечатающие формулировки>
SET PRINTER TO && Обнуление очереди на печать.
Следующий пример пересылает вывод печати в текстовый файл,
переписывая существующий файл:
SET DEVICE TO PRINT
SET PRINT ON
SET PRINTER TO Prnfile.txt
@ 0,0 SAY "Это идет в файл Prnfile.txt"
- 114 -
? "Это будет так!"
SET PRINTER TO && Закрывает файл.
SET DEVICE TO SCREEN
SET PRINT OFF
Библиотека: CLIPPER.LIB
Смотри
также: @..SAY,SET DEVICE,SET PRINTER.
SET PROCEDURE
Синтаксис: SET PROCEDURE TO [<эфайл>]
Цель:
Скомпилировать все процедуры и пользовательские функции из
указанного файла в текущий объектный файл.
Аргументы:
<эфайл> - имя файла процедуры. Если не указано расширение файла,
то подразумевается .prg.
Использование:
Файл процедуры может содержать любое количество процедур или
пользовательских функций. Когда Клиппер встречает SET PROCEDURE,
он компилирует процедуры и пользовательские функции, находящиеся
в файле.
Команды CLOSE PROCEDURE и SET PROCEDURE TO без аргументов
компилятором игнорируются.
Примеры: SET PROCEDURE TO Strlib
SET PROCEDURE TO Winlib
SET PROCEDURE TO Scrlib
SET PROCEDURE TO Appslib
DO Main
RETURN
Библиотека: CLIPPER.LIB
Смотри
также: DO,FUNCTION,PROCEDURE,RETURN.
SET RELATION
Синтаксис:
SET RELATION TO [<эключ.выр>//<эвырN1> INTO <эсиноним1>]
[,TO <эключ.выр>//<эвырN2> INTO <эсиноним2>]...
Цель:
Связать две рабочие области, используя ключевое выражение, номер
записи или числовое выражение.
Аргументы:
- 115 -
<эключ.выр> - выражение, используемое для осуществления поиска в
дочерней рабочей области всякий раз, когда указатель записи
перемещается по родительской рабочей области. Для того, чтобы
это работало, дочерняя рабочая область должна содержать указание
индекса в команде USE.
RECNO() связывает родительскую и дочернюю рабочие области,
используя родительский номер записи для того, чтобы выполнить
переход по команде GOTO на такую же запись в дочерней рабочей
области всякий раз когда указатель записи перемещается в
родительской рабочей области. Для того, чтобы этот тип связи
выполнялся корректно, рекоменуется чтобы дочерняя рабочая
область не содержала указание индекса в команде USE. <эвырN> -
выражение, используемое для выполнения команды перехода GOTO на
соответствующую запись в дочерней рабочей области всякий раз
когда указатель записи перемещается в родительской рабочей
области. Для того,
собою.
Использование:
Связь, определенная командой SET RELATION TO заставляет
перемещаться указатель записи в дочерней рабочей области в
соответствии с перемещением указателя записи в родительской
рабочей области. Если в дочерней рабочей области соответствие не
найдено, то ее указатель записи устанавливается в положение
LASTREC()+1, при этом функция EOF() возвращает "истину"(.T.), а
FOUND() возвращает "ложь"(.F.).
---------------------------------------------------------------¬
¦ ОТМЕТЬТЕ, что SET RELATION не подчиняется установке SOFTSEEK ¦
¦ и ведет себя так, как будто SOFTSEEK установлен OFF. Если в ¦
¦ дочерней рабочей области не найдено соответствия, то ¦
¦ указатель записи устанавливается в позицию LASTREC()+1. ¦
L---------------------------------------------------------------
Примеры:
В следующем ниже примере связываются три рабочих области в
единую конфигурацию, состоящую Customers, связанной с Invoices
и Zip.
SELECT 0
area = SELECT()
SELECT (area + 1)
USE Invoices INDEX Invoices
SELECT (area + 2)
USE Zip INDEX Zipcode
SELECT (area)
USE Customers
SET RELATION TO Customers INTO Invoices, TO Zipcode INTO Zip
- 116 -
*
LIST Customer,Street,Zip->City,Invoices->Number,;
Invoices->Amount
Библиотека: CLIPPER.LIB
Смотри
также: INDEX,REPLACE,SET INDEX,SER ORDER,UPDATE,USE.
SET SCOREBOARD
Синтаксис: SET SCOREBOARD ON/off/(<эвырL>)
Цель:
Переключить режим отображения сообщений во время выполнения
команд READ и MEMOEDIT() в состояния ON или off.
Использование:
Когда указатель SCOREBOARD установлен в ON, сообщения
высвечиваются на строке 0. Они появляются при ошибках в
формулировке RANGE, при сообщении о прекращении выполнения
запроса в MEMOEDIT() и при сообщении, указывающем о включении
режима вставки как внутри MEMOEDIT(), так и для READ.
Библиотека: CLIPPER.LIB
SET SOFTSEEK
Синтаксис: SET SOFTSEEK on/OFF/(<эвырL>)
Цель:
Включить режим " мягкого" поиска ( поиск следующей по значению
величины, когда поиск посредством SEEK неудачен).
Использование:
Если SOFTSEEK установлен в ON и аргументу, указанному в команде
SEEK, не найдено соответствия, указатель записи устанавливается
на следующей записи индексного файла, в которой значение
ключевой величины больше указанного в аргументе на поиск. Если
нет ни одной записи с большим значением ключевой величины, то
указатель записи устанавливается в положение LASTREC()+1, при
этом EOF() возвращает "истсну"(.T.), а FOUND() возвращает "ложь"
(.F.).
Если SOFTSEEK установлен в OFF и SEEK отработала неудачно, то
указатель устанавливается в положение LASTREC()+1, EOF()
возвращает "истину"(.T.), а FOUND() - "ложь"(.F.).
Отметьте, что переключение SET EXACT не действует на выполнение
команды SEEK, если SOFTSEEK установлен в ON. Отметьте также, что
SET RELATION игнорирует установку SOFTSEEK и таким образом
обновляет положение указателя записи в дочерней рабочей области,
- 117 -
как если бы SOFTSEEK была установлена в OFF.
Примеры: SET SOFTSEEK ON
SEEK "Findit"
IF FOUND()
? "Найдена запись ",RECNO()
ELSE
? "Запись не найдена."
? EOF()
? RECNO()
ENDIF
Библиотека: CLIPPER.LIB
Смотри
также: INDEX,SEEK,SET EXACT,SET RELATION.
SET TYPEAHEAD
Синтаксис: SET TYPEAHEAD TO <эвырN>
Цель: Установить размер буфера клавиатуры.
Аргументы:
<эвырN> - определяет количество символов, которое может содержать
буфер клавиатуры. Это может быть число от 0 до 32768.
Отметьте, что устанавка размера буфера клавиатуры 0 может лишить
Вас возможности работы с комбинациями Alt-C и Alt-D, которые
бывают полезны при выполнении больших циклов обработки.
Библиотека: CLIPPER.LIB
Смотри
также: ACCEPT,INPUT,KEYBOARD,READ,SET KEY,LASTKEY().
SET UNIQUE
Синтаксис: SET UNIQUE on/OFF/(<эвырL>)
Цель:
Переключить режим включения записей с неуникальными ключами в
индексные файлы при добавлении записей или при создании новых
индексных файлов.
Использование:
Когда Вы создаете или обновляете индексный файл с установкой SET
UNIQUE ON и две или более записей содержат одну и ту же ключевую
величину, Клиппер включает в индекс только первую запись.
Отметьте, что SET UNIQUE в Клиппере является глобальной
установкой и не связана ни с каким индексным файлом. Поэтому
переиндексация посредством REINDEX при установке UNIQUE ON
- 118 -
удаляет неуникальные ключи во всех индексных файлах в текущей
рабочей области. По этой причине использование данной установки
требует большой аккуратности.
Примеры:
Следующий пример перечисляет всех покупателей штата:
SET UNIQUE OFF
USE Customers
INDEX ON State + Customer TO State
LIST State, Customer
Этот пример перечисляет все штаты, в которых зарегистрированы
покупатели:
SET UNIQUE OFF
USE Customers INDEX ON State TO State
LIST State
Библиотека: CLIPPER.LIB
Смотри
также: FIND,INDEX,REINDEX,SEEK,SET INDEX,USE.
SET WRAP
Синтаксис: SET WRAP on/OFF/(<эвырL>)
Цель: Включить режим кругового перемещения по меню.
Использование:
Когда WRAP установлен в ON и высвечивается последняя строка
меню, клавиши Стрелка-вверх/Стрелка-вниз перемещает курсор на
первую строку. Если высвечивается первая строка меню, клавиши
Стрелка-вверх/Стрелка-вниз перемещает курсор на последнюю
строку.
Библиотека: CLIPPER.LIB
Смотри
также: @...PROMPT,MENU TO,SET MESSAGE.
SKIP
Синтаксис: SKIP <эвырN1> [ALIAS <эраб.обл.>/<эсиноним>/(<эвырN2>)]
Цель:
Установить указатель записи в текущей или в любой указанной
рабочей области в новую позицию, относительно текущей позиции
указателя.
Аргументы:
<эвырN1> - указывает количество записей, на которое должен быть
перемещен указатель, начиная с текущей позиции. Положительное
- 119 -
число перемещает указатель вниз по файлу, отрицательная - вверх
по файлу. Нулевой аргумент записывает буфер текущей рабочей
области в DOS-буфер.
Опция: ALIAS.
Формулировка ALIAS перемещает указатель записи в указанной
рабочей области вместо текущей.
Использование:
SKIP без числового аргумента перемещает указатель на следующую
запись. Перемещение указателя вверх за пределы начала файла,
устанавливает указатель на первую запись, при этом функция BOF()
возвращает "истину"(.T.). Перемещение указателя вниз за пределы
последней записи устанавливает указатель в позицию LASTREC()+1,
а EOF() возвращает "истину"(.T.).
Если используется индексный файл, SKIP перемещает указатель на
указанное количество записей по определенному индексу.
Запись внутренних буферов Клиппера на диск
Любая команда, требующая прочтения записи во внутрение буферы
Клиппера, выполняет запись текущего содержимого буфера файла
базы данных в DOS-буфер, если в содержимом буфера были сделаны
какие-либо изменения, начиная с момента прочтения записи с
диска. SKIP 0 может быть использован для записи текущего
содержимого буфера файла базы данных без считывания новой
записи. Отметьте, что конкретное время записи информации на диск
зависит от версии DOS, если Вы не использовали команду COMMIT
для того, чтобы инициировать фактическую запись на диск. SKIP 0
сам по себе не необязательно вызывает запись на диск. Отметьте,
что команда не записывает буферы индексов.
Примеры:
USE Customers
? RECNO() && Результат: 1
SKIP
? RECNO() && Результат: 2
SKIP 10
? RECNO() && Результат: 12
SKIP -5
? RECNO() && Результат: 7
SKIP -10
? RECNO() && Результат: 1
Следующий пример перемещает указатель записи в другой рабочей
области:
SKIP ALIAS 4
Это то же самое, что и
SELECT 4
SKIP
SELECT 1
Библиотека: CLIPPER.LIB
- 120 -
Смотри
также: COMMIT,CONTINUE,GOTO,FIND,LOCATE,SEEK,BOF(),EOF(),RECNO()
SORT
Синтаксис:
SORT [<эобл.опр.>] ON <эполе1> [/A][/C][/D] [,<эполе2>[/A][/C]
|