*HELP
   Система управления реляционными базами данных DBASE II.
   =======================================================

     HELP-файл оперативно окажет вам необходимую помощь при 
работе с DBASE II.
Разместив файл DBASEMSG.TXT на системном диске, вы всегда 
сможете в процессе создания и работы с базами данных быстро 
получить краткую информацию о командах и функциях DBASE II, 
об управлении курсором при полноэкранном редактировании и др. 
    При появлении сообщения "Пауза", необходимо нажать любую
клавишу.

             Как использовать команду HELP
             =============================
     Информацию о DBASE II можно получить, введя команду HELP 
с одним из следующих ключевых слов или команд (например, 
HELP CP/M, HELP LIST, HELP EDIT, HELP MODIFY).

  DBASE         HELP         SCREEN        
  CP/M          LIMITS       FUNCTIONS
  
  DBASE II найдет нужную вам информацию и выведет ее на экран.
Если такой информации не окажется в данном файле, то DBASE II
сообщит вам об этом. 
 Для работы DBASE II необходимо иметь на диске следующие файлы:

DBASE.COM     --  основной файл DBASE II
DBASEOVR.COM  --  оверлейные структуры основного файла DBASE II
DBASEMSG.TXT  --  файл помощи (может отсутствовать, если не 
		  нужна оперативная подсказка)





*EXIT
*SCREEN
      Команды управления полноэкранным редактированием      
      ================================================
 ^X   - курсор вниз
 ^E   - курсор вверх             
 ^D   - курсор вправо 
 ^S   - курсор влево 
 ^G   - удалить символ в позиции курсора
<DEL> - удалить символ слева от курсора
 ^Y   - удалить все от курсора справа
 ^V   - переключатель режима "Вставка"
 ^W   - записать сделанные изменения и закончить редактирование
 ^Q   - закончить редактирование без записи изменений на диск
     При работе с командой  EDIT:    
     ============================
 ^U  - установить/снять пометку для удаления текущей записи
 ^C  - записать текущую запись на диск и перейти к следующей
 ^R  - записать текущую запись на диск и перейти к предыдущей
 ^Q  - закончить редактирование без записи изменений на диск
 ^W  - записать сделанные изменения и продолжить редактирование

     При работе с командой  BROWSE:
     ==============================
 ^B  - сдвинуть изображение влево на одно поле
 ^Z  - сдвинуть изображение вправо на одно поле
     При добавлении записей:
     =======================
<ВК> - когда курсор в первой позиции первого поля записи, 
       добавляет новую запись (записи) в файл базы
 ^W  - записать на диск запись и перейти к следующей
 ^Q  - без изменения текущей записи вернуться в DBASE II






     При работе с командой  MODIFY:
     ==============================
 ^T - удалить текущую строку
 ^N - вставить пустую строку в позиции курсора
 ^C - переместить изображение вверх на 1/4 экрана
 ^R - переместить изображение вниз на 1/4 экрана
 ^W - записать все изменения на диск и закончить редактирование
 ^Q - закончить редактирование без записи изменений на диск




     При работе в построчном режиме:
     ===============================
 ^P - переключатель синхронного вывода на принтер
 ^R - повторить последнюю команду DBASE II
 ^X - очистить командную строку
 ^H - возврат влево
 ^M - дублирует клавишу <ВК>




*EXIT  
*CP/M
   Краткие сведения об ОС CP/M, связанные с DBASE II
   ================================================= 

1. Объем памяти, занимаемый файлами DBASE II, можно определить
   командой:
                   STAT *.*

2. oбъем памяти на диске, занимаемый записями файла базы, 
   можно рассчитать по формуле:

   объем памяти на диске (Кбайт) =
   = ((<длина записи> * <количество записей>) + 521) / 1024
3. Сообщения об ошибках, выводимые операционной системой CP/M:

3.1. BDOS ERROR ON X: BAD SECTOR 
     Ошибка при чтении или записи диска. Возможные причины:
     - другой формат диска 
     - диск плохо вставлен в дисковод
     - диск извлекали из дисковода во время обращения к нему
     - на диске имеются механические повреждения или грязь

3.2. BDOS ERROR ON X: SELECT
     Указано устройство, которого нет на вашей ПЭВМ



3.3. BDOS ERROR ON X: READ ONLY
     Эта ошибка возникает при попытке произвести запись на 
     диск, имеющий статус R/O (READ-ONLY - только чтение). 
     Диску присваивается статус R/O в следующих случаях: 
   - заклеена защитная прорезь на диске; 
   - перед записью открывали крышку дисковода или меняли диск.
     Для отмены статуса R/O при незаклеенной защитной прорези 
     можно выдать команду RESET в системе DBASE II или ввести 
     ^C в операционной системе.


*EXIT
*?
*??
> ?  -- отображение на экран значения выражения. Может 
        использоваться также для пропуска пустой строки 
	в командном файле, если выражение опущено.

  ? [<спис.выр>]

          . ? 6/3
            2
          . ? 'Юра'
            Юра
          . ? SITY (поле текущего файла )
            Москва
> ??  -- так же, как и ?, но перед выводом значения выражения 
	 не делается перевод строки.








*EXIT
*SAY
*GET
*@
> @  -- команда для форматирования экрана или печати, устанав-
	ливает курсор в позицию X,Y (X = строка, Y = колонка).

@ <коорд.> SAY <выр.> USING <формат> GET <перем.> 
					PICTURE <формат>

@  3,23 SAY AMOUNT * 1.06 USING '$$$,$$$.99'
@ 14,23 SAY "введи телефон:" GET PHONE PICTURE '(###)###-##-##'
@ LINE+2,45 SAY TOTAL USING '99999.99'


*EXIT
*ACCEPT
> ACCEPT  -- ввод символьной строки (без апострофов) 
	     в указанную переменную памяти.

  ACCEPT [<строка>] TO <перпам>

     . ACCEPT "Как тебя зовут ?" TO NAME
     Как тебя зовут ?: Юра [ответ запоминается в NAME]
     . ? NAME
     Юра [отображается значение NAME]


*EXIT
*APPEND
> APPEND FROM <файл> [FOR <выр>] или
> APPEND FROM <файл> [SDF DELIMITED] [FOR <выр>] -- добавление
      данных в текущий файл базы из другого файла базы или из 
      системного файла (SDF). Записи, помеченные для удаления,
       игнорируются и не добавляются в текущий 	файл базы.

 . APPEND FROM ZAPKNIG FOR NAME = 'N'
 . APPEND FROM TEST.TXT DELIMITED




> APPEND BLANK -- добавление пустой записи.
> APPEND -- добавление новых записей в текущий файл базы (если
	    использованы индексные файлы, то они будут 
	    автоматически дополняться).






*EXIT
*BROWSE
> BROWSE -- редактирование и просмотр записей или указанных 
	    полей в полноэкранном режиме.

  BROWSE [FIELDS <спис.полей>]







*EXIT
*CANCEL
> CANCEL -- прекращение выполнения командного файла и возврат 
	    в DBASE II.

           фрагмент командного файла:
           ACCEPT "Введите заводской номер ПЭВМ:" TO PEVM
               IF PEVM = '1234'
                   CANCEL
                      ENDIF



*EXIT
*CHANGE
> CHANGE -- выполнение множественных изменений в файле базы.

  CHANGE [<диапазон>] FIELD <список> [FOR <выр>]

           . CHANGE ALL FIELD ZIP FOR ZIP = '90045'
           Запись: 00123
           ZIP: 90045
           Смена?
   (Введите изменяемые символы и нажмите <ВК>, если изменения
    не нужны, нажмите <ВК> для перехода к следующей записи).

*EXIT
*CLEAR
> CLEAR  -- закрытие всех файлов базы, очистка всех переменных
	    памяти.
> CLEAR GETS -- сброс всех отложенных команд GET без очистки 
	        экрана.






*EXIT
*CONTINUE
> CONTINUE  --  продолжение выполнения команды LOCATE






*EXIT
*COPY
> COPY -- копирует текущий файл базы или только структуру 
	  в другой файл. Команда создает новый файл с именем 
	  <файл>, если его нет на диске, а если такой файл 
	  есть, то его данные разрушаются! Записи, отмеченные 
	  для удаления, не копируются !

  COPY [STRUCTURE] TO <файл> [<диапазон>] [FIELD <список>]  
           [FOR <выр>] [SDF] [DELIMITED [WITH <ограничитель>]] 



*EXIT
*COUNT
> COUNT -- подсчет числа записей в текущем файле базы, 
	   удовлетворяющих некоторому условий.

  COUNT [<диапазон>] [FOR <выр>] [TO <перпам>]

           . COUNT ALL FOR A=25.3 TO MEM1





*EXIT
*CREATE
> CREATE -- создание нового файла базы данных.

  CREATE [<файл>]
  CREATE <нов.файл> FROM <стар.файл>







*EXIT
*DELETE
> DELETE FILE <файл> -- удаление файла с именем <файл>.

> DELETE -- отметка требуемых записей (записи) для удаления.

  DELETE [<диапазон>] [<выр>]

           . DELETE ALL FOR A=25.8
           . DELETE RECORD 15



*EXIT
*DISPLAY
> DISPLAY FILES [ON <диск>] [LIKE <образец>] 
			-- отображение файлов на диске.

           . DISPLAY FILES ON B LIKE *.CMD

> DISPLAY [<диапазон>] [FOR <выр>] [<спис.выр>] [OFF]
       -- отображение данных по запросу.

           . DISPLAY NEXT 10 FOR PHONE = '415'

> DISPLAY STRUCTURE -- отображение структуры текущего файла.

> DISPLAY MEMORY -- отображение имени и значения переменных 
		    памяти.

> DISPLAY STATUS -- отображение используемых файлов базы, 
		    индексных файлов, текущей даты и установ-
		    ленных управляющих параметров.




*EXIT
*DO
*DO WHILE
*DO CASE
*ENDCASE
*ENDDO
*LOOP
> DO <файл> -- выполнение командного файла.
> DO WHILE <выр> --выполнение группы команд,пока <выр> истинно.
> DO CASE
   CASE <выр> -- выполнение группы команд, пока <выр> истинно.
> ENDCASE  --  обозначение конца предложения DO CASE.
> ENDDO  --  Oбозначение конца предложения DO WHILE.  
> LOOP  -- пропуск команд, следующих за командой LOOP, переход
	   в начало предложения DO WHILE.




           USE FILE1
           DO WHILE .NOT. EOF
               IF A=220
                  SKIP
                  LOOP
                  ENDIF
               ? NAME
               ? PHONE
               SKIP
               ENDDO

*EXIT
*EDIT
> EDIT [<номер записи >] -- изменение содержимого полей данных
        в файле базы (нажатие клавиши <ВК> в начале выполнения
        команды EDIT оставляет запись без изменений. Для за-
	писи внесенных изменений необходимо ввести ^W).







*EXIT
*EJECT
> EJECT -- пропуск страницы на принтере.




*EXIT
*ELSE
> ELSE <предложения>  --  Oрганизация альтернативного перехода
			  в команде IF.





*EXIT
*ERASE
> ERASE -- очистка экрана. В интерактивном режиме "." будет 
	   находиться в левом верхнем углу экрана.








*EXIT
*FIND
> FIND <ключ> -- локализация записи по значению <ключ> в 
		 индексированном файле базы (символьный ключ 
		 задается без апострофов).







*EXIT
*GO
*GOTO 
> GO или GOTO -- установка указателя текущей записи 
		 в определенное командой место.

  GOTO RECORD <N>
  GOTO TOP
  GOTO BOTTOM
  <N>
  GOTO <перпам>



*EXIT
*DBASE
Полный перечень команд DBASE II с кратким описанием назначения
==============================================================
  Далее вы найдете полный список команд DBASE II. Следует 
помнить, что данное описание не может пояснить всех тонкостей 
работы с командами, поэтому при затруднениях обращайтесь к 
документации DBASE II.
  Имеющиеся в HELP-файле описания команд (или другие справки)
вы можете вызвать на экран в любое время, когда DBASE II 
выводит подсказывающий символ "." и ждет ввода команды. Для 
получения справки следует набрать HELP <имя команды> и <ВК>.


После вывода информации вы автоматически возвращаетесь 
к режиму ввода команд и можете продолжать работу с DBASE II. 
В некоторых случаях вся информация не помещается  на  одном  
экране.  При этом в левом углу под текстом появляется слово 
"Пауза". Для прочтения следующего экрана можете нажать любую 
клавишу.Для прерывания вывода информации и возврата в DBASE II
следует нажать клавишу <ESC>.





> ?      -- отображение на экране значения выражения.
> ??     -- так же, как и ?,но после ввода команды не делается
	     перевод строки.
> @ (SAY,GET) -- отображение форматированной информации на 
		 экране или принтере.
> ACCEPT -- ввод строки с экрана в переменную памяти без 
	    ограничителей.
> APPEND -- добавление данных в файл базы.
> BROWSE -- просмотр или редактирование данных в полноэкранном
	    режиме.
> CANCEL -- прекращение выполнения командного файла.
> CHANGE -- множественные изменения в файле базы.
> CLEAR  -- закрытие файлов базы и очистка переменных памяти.
> CONTINUE -- продолжение выполнения команды LOCATE.
> COPY   -- копирование текущего файла базы.
> COUNT  -- подсчет числа записей, удовлетворяющих <выр>.
> CREATE -- создание нового файла базы данных.
> DELETE -- удаление файла или отметка записи для удаления.
> DISPLAY -- отображение на экране файлов на диске,записей или
	     структуры текущего файла базы, текущей даты, 
	     установленных управляющих параметров,используемых
	     файлов, индексных  файлов.
> DO     -- вызов командного файла или выполнение группы 
	    команд в командном файле.
> EDIT   -- изменение содержимого полей данных в текущем 
	    файле базы.
> EJECT  -- пропуск страницы на принтере.
> ELSE   -- обеспечение альтернативного перехода в команде IF.
> ENDCASE -- обозначение конца предложения DO CASE.
> ENDDO  -- обозначение конца предложения DO WHILE .
> ENDIF  -- обозначение конца предложения IF.
> ENDTEXT -- обозначение конца действия команды TEXT.
> ERASE  -- очистка экрана.
> FIND   -- поиск записи в индексированном файле базы.
> GO или GOTO -- установка указателя текущей записи 
		 в определенное место.
> HELP   -- получение требуемой информации о DBASE II
> IF     -- организация условного выполнения команд.
> INDEX  -- индексирование текущего файла по <выр>.
> INPUT  -- ввод с клавиатуры числового значения выражения 
	    в переменную памяти.
> INSERT -- вставка новой записи в файл базы.
> JOIN   -- объединение двух файлов базы и создание третьего.
> LIST   -- просмотр файлов, записей или структуры текущего 
	    файла, временных переменных или статуса.
> LOCATE -- поиск записей, удовлетворяющих <выр>.
> LOOP   -- пропуск команд, следующих за командой LOOP, 
	    переход в начало предложения DO WHILE.
> MODIFY -- создание или редактирование командного файла или 
	    изменение структуры текущего файла базы (все 
	    данные при этом разрушаются !!!).
> NOTE или * -- вставка комментариев в командный файл.
> OTHERWISE  -- обеспечение альтернативного перехода 
		в предложении DO CASE.
> PACK   -- удаление всех записей текущего файла, помеченных 
	    для удаления.

> QUIT   -- закрытие всех файлов базы и передача управления в 
	    операционную систему.

> READ   -- полноэкранное редактирование и/или ввод данных в 
	    переменные, идентифицированные и отображаемые 
	    командой @ с фразой GET.
> RECALL -- удаление отметок для удаления записей, установлен-
	    ных командой DELETE.
> REINDEX -- обновление индексного файла.
> RELEASE -- освобождение всех или указанных переменных памяти.
> REMARK -- отображение комментариев на выводном устройстве 
	    при выполнении командного файла.
> RENAME -- переименование файла.
> REPLACE -- изменение содержимого указанных полей данных 
	     текущего файла на новые данные.
> REPORT -- создание и выдача отчета на экран или принтер.
> RESET  -- переустановка битовой маски операционной системы 
	    после перестановки дисков в дисководе.
> RESTORE -- восстановление в оперативной памяти значений 
	     переменных памяти, записанных ранее на диск.
> RETURN -- конец выполнения командного файла.
> SAVE   -- запись текущих переменных памяти в файл.
> SELECT -- выбор первичного или вторичного файла базы.
> SET    -- установка значений управляющих параметров DBASE II.
> SKIP   -- перемещение указателя текущей записи.
> SORT   -- сортировка текущего файла.

> STORE  -- вычисление значения выражения и запоминание его в 
	    переменную памяти.
> SUM    -- суммирование значений числовых полей данных 
	    текущего файла.
> TEXT   -- отображение на экране текстовой информации.      
> TOTAL  -- создание суммарной версии индексированного файла 
	    базы путем копирования записей только с уникальным
	    ключем.
> UPDATE -- изменение значений полей данных текущего файла.
> USE    -- открытие файлов базы для последующих операций.
> WAIT   -- прерывание выполнения операций DBASE II.

   Другие ключевые слова для команды HELP (например,HELP CP/M):

  DBASE          HELP            SCREEN       
  CP/M           FUNCTIONS       LIMITS




*EXIT
*IF
*ELSE
*ENDIF
> IF <выр>  -- организация условного выполнения команд.

  . IF TIME=100687
      DO INSTATE [выпонение командного файла]
         ELSE
            DO OUTSTATE [выполнение командного файла]
                    ENDIF




*EXIT
*INDEX
> INDEX  --  индексирование текущего файла по <выр>.

  INDEX ON <выр> TO <индексфайл>








*EXIT
*INPUT
> INPUT --  ввод с числового значения в переменную памяти.

  INPUT [<строка>] TO <перпам>

   . INPUT 'Введите число' TO X
     Введите число: 12 <ВК>
         [числовое значение заносится в переменную памяти X]
     ? X
     12


*EXIT
*INSERT
> INSERT  -- вставка новой записи в файл базы.

  INSERT [BEFORE] [BLANK]
       







*EXIT
*JOIN
> JOIN -- объединение двух файлов и создание нового файла.

  JOIN TO <файл> FOR <выр> [FIELDS <спис.полей>]

           . USE NAMES
           . SELECT SECONDARY
           . USE MAILLIST
           . SELECT PRIMARY
           . JOIN TO NAMEML FOR LAST <> S.LAST


*EXIT
*LIST
> LIST FILES [ON <диск>] [LIKE <образец>] 
       -- отображение списка файлов на указанном диске, если 
          параметр ON опущен,отображаются файлы текущего диска.

           . LIST FILES ON C LIKE *.CMD

> LIST [<диапазон>] [FOR <выр>] [FIELDS <спис.полей>] [OFF] 
	[<спис.выр>] -- отображение данных по запросу.

> LIST STRUCTURE -- отображение структуры текущего файла базы.


> LIST MEMORY -- отображение имени и значения всех временных 
		 переменных.

> LIST STATUS -- отображение используемых файлов базы, 
		 индексных файлов, а также текущей даты и 
		 управляющих параметров.





*EXIT
*LOCATE
*CONTINUE
> LOCATE --  поиск записей, удовлетворяющих <выр>.

  LOCATE [<диапазон>] [FOR <выр>]

   . LOCATE ALL FOR ZIP >= '95000' .AND. ZIP < '96000'
   . RECORD: 00123
   . DISPLAY
   . CONTINUE
   . RECORD: 00232


*EXIT
*MODIFY
> MODIFY STRUCTURE -- изменить структуру текущего файла базы. 
	Эта команда разрушает все данные в файле базы. (Чтобы 
	изменить структуру без потери данных, следует исполь-
	зовать команды COPY и APPEND.)

    . USE NAMES
    . COPY STRUCTURE TO TEMP -- создание файла TEMP, структура
		которого соответствует структуре файла NAMES
    . USE TEMP
    . MODIFY STRUCTURE   -- определение новой структуры
    . APPEND FROM NAMES  -- добавление записей из файла NAMES

    . COPY TO NAMES      -- копирование файла с новой 
			    структурой в файл NAMES
    . USE NAMES          -- открытие файла NAMES
    . DELETE FILE TEMP   -- удаление файла TEMP

> MODIFY COMMAND [<файл>]  -- создание нового командного файла
			      или редактирование старого




*EXIT
*NOTE
> NOTE или * -- вставка любых комментариев в командный файл.
 
  NOTE <любые символы>
  * <любые символы>







*EXIT
*OTHERWISE
> OTHERWISE  --  организация альтернативного перехода в 
		 предложении DO CASE.









*EXIT
*PACK
> PACK -- удаление всех записей текущего файла, помеченных 
	  для удаления.









*EXIT
*QUIT
> QUIT --  закрытие всех файлов базы и передача управления в 
	   операционную систему.

  QUIT [TO <список программных файлов CP/M>]

 . QUIT TO 'POWER'   
	[после выхода в CP/M - вызвать программу POWER]




*EXIT
*READ
> READ -- полноэкранное редактирование и/или ввод данных в 
	  переменные, идентифицированные и отображаемые 
	  командой @ с фразой GET.

        STORE '                    ' TO NAME
        STORE '             ' TO PHONE
        @ 4,4 SAY 'Имя' GET NAME
        @ 6,4 SAY 'Телефон' GET PHONE PICTURE '(###)###-##-##'
        READ


*EXIT
*RECALL
> RECALL -- удаление отметок для удаления записей,
	    установленных командой DELETE, из записей, 
	    удовлетворяющих <выр>.

   RECALL [<диапазон>] [FOR <выр>]






*EXIT
*REINDEX
> REINDEX -- обновление индексных файлов,которые автоматически
	     не обновлялись после команд модификации базы.

           . USE MAILLIST INDEX ZIP
           . APPEND    [добавление записей]
           . SET INDEX TO NAME
           . REINDEX




*EXIT
*RELEASE
> RELEASE -- освобождение всех или указанных переменных памяти.

  RELEASE <перпам список>
  RELEASE ALL [LIKE <образец>] [EXCEPT <образец>]

    Предположим, N,N2,N10,V7 - используемые переменные памяти
           RELEASE ALL LIKE N?  [N10, V7 останутся]    
           RELEASE ALL LIKE N?? [V7 останется]
           RELEASE ALL EXCEPT ?1* [N1, N10 останутся]


*EXIT
*REMARK
> REMARK -- отображение комментариев на выводном устройстве 
	    при выполнении командного файла.

           . REMARK Здравствуй!!!!!
            Здравствуй!!!!!






*EXIT
*RENAME
> RENAME -- изменение имени файла в оглавлении диска. Если 
	    тип в имени не указан, то подразумевается .DBF.

  RENAME <старое имя файла> TO <новое имя файла>

           . RENAME TEST1.CMD TO TEST2.BAK





*EXIT
*REPLACE
> REPLACE -- замена содержимого указанных полей данных 
	     текущего файла базы на новые данные.

    REPLACE [<диапазон>] <поле1> WITH <выр1> [,<поле2> WITH 
<выр2>]...[FOR <выр>]

           . USE FILE1
           . REPLACE ALL COST WITH COST*4.91 FOR ITEM = 'Кофе'



*EXIT
*REPORT
> REPORT  -- создание отчетных форм (.FRM) для отображения 
	     информации из файла базы в формате, определенном 
	     пользователем, на экране или принтере.

  REPORT [FORM <файл отчета>] [<диапазон>] [TO PRINT] [FOR 
<выр>] [PLAIN]





*EXIT
*RESET
> RESET --  переустановка битовой маски операционной системы 
	    CP/M после перестановки дисков в дисководе. Все 
	    файлы при этом закрываются.

  RESET [<дисковод>]
 





*EXIT
*RESTORE
> RESTORE --  восстановление в оперативной памяти всех 
	      переменных памяти, ранее записанных в файл. 
	      Параметр ADDITIVE позволяет сохранить текущие 
	      переменные, иначе они будут потеряны.

  RESTORE FROM <файл> [ADDITIVE]





*EXIT
*RETURN
> RETURN -- возвращает управление из командного файла в 
	    командный файл, вызвавший данный или в DBASE II.









*EXIT
*SAVE
> SAVE  --  запись определенных в текущий момент переменных 
	    памяти в файл.

  SAVE TO <файл> [ALL LIKE <образец>] [ALL EXCEPT <образец>]

   Предположим, N1, N2, N10, V1, V2, V10 - текущие переменные.
   . SAVE TO NUMBER ALL LIKE N*  [сохранение N1, N2, N10]
   . SAVE TO NUMBER ALL LIKE N?  [сохранение N1, N2]
   . SAVE TO NUMBER ALL EXCEPT ?1* [сохранение N2, V2]


*EXIT
*SELECT
*PRIMARY
*SECONDARY
> SELECT --  выбор первичного или вторичного файлов базы. 
             по умолчанию активен первичный файл.

  SELECT [PRIMARY]
         [SECONDARY]






*EXIT
*SET
> SET -- установка значений управляющих параметров DBASE II.

  SET <упр.пар1> [ON OR OFF]
  SET <упр.пар2> TO <параметр>

      Все SET-команды перечислены ниже в алфавитном порядке.
Следует помнить, что часть параметров требует некоторых опций.
Умалчиваемое значение для ON/OFF команд индицируется первым 
местом в команде, т.е., SET BELL [ON/OFF] -- умолчание - ON.



> SET ALTERNATE [OFF/ON] -- сохранение всей информации, имею-
	щейся на экране, (кроме полноэкранного редактирования)
	в файл на диске (TXT-файл). Можно изменить имя файла, 
	набрав после команды новое имя. В режиме OFF отменяется
	вывод в файл.

> SET BELL [ON/OFF] -- подается сигнал при ошибочном вводе 
      данных или любой ошибке. В режиме OFF сигнал не подается.

> SET CARRY [OFF/ON] -- данные из предыдущей записи пересыла-
			ются в следующую запись при работе. 
			В режиме OFF подобной пересылки нет.  
> SET COLON [ON/OFF] -- для разделения входных данных выводит-
	ся двоеточие. В режиме OFF двоеточие не выводится.

> SET CONFIRM [OFF/ON] -- DBASE II не переходит к следующему 
     полю при полноэкранном редактировании, пока не нажата 
     клавиша <ВК>. В режиме OFF после заполнения текущего 
     поля осуществляется автоматический переход к следующему.

> SET CONSOLE [ON/OFF] -- вся информация выводится на экран. 
			  В режиме OFF консоль отключается.


>  SET DELETED [OFF/ON] -- записи, помеченные для удаления, 
	не используются командами LIST, DISPLAY, COUNT. В 
	режиме OFF - записи используются.

> SET DEBUG [OFF/ON] -- выход, установленный управляющими 
	параметрами  ECHO и STEP, посылается на принтер. В 
	режиме OFF дополнительного вывода на принтер нет 
	(вывод идет на экран).

> SET ECHO [OFF/ON] -- во время выполнения командного файла 
		       каждая команда отображается на экране. 
		       В режиме OFF отображения команд нет.
> SET EJECT [ON/OFF] -- перед командой REPORT выполняется 
	перевод страницы. Режим OFF отменяет перевод страницы.

> SET ESCAPE [ON/OFF] -- завершение выполнения командного 
	файла при нажати клавиши <ESC>. В режиме OFF действие 
	клавиши <ESC> отменено.

> SET EXACT [OFF/ON] -- символьные строки должны полностью 
	(за исключением хвостовых пробелов) сравниваться в 
	выражениях и в команде FIND. В режиме OFF сравнение 
	символьных строк делается по длине второй строки,
        например, выражение 'ABCWIR' = 'ABC' истинно.
> SET INTENSITY [ON/OFF] -- разрешено использование символов 
	с двойной яркостью (обычное или инверсное изображение,
	в зависимости от терминала). В режиме OFF двойная 
	яркость не используется.

> SET LINKAGE [OFF/ON] -- все команды, имеющие параметр 
	<диапазон>, осуществляют позиционирование в первичном 
	и вторичном файлах базы. В режиме OFF первичный и 
	вторичный файлы независимы.

> SET PRINT [OFF/ON] -- вся информация выводится на принтер. 
		В режиме  OFF отменяется вывод на принтер.
> SET  RAW  [OFF/ON]  -- содержимое записей в командах LIST, 
      DISPLAY выводится без пробелов между полями. В режиме 
      OFF вставляется между полями один дополнительный пробел.

> SET SCREEN [ON/OFF] -- для команд APPEND, EDIT, INSERT, 
	READ, CREATE разрешены полноэкранные операции. 
	В режиме OFF - нет.





> SET STEP [OFF/ON] -- DBASE II останавливает выполнение 
    командного файла после каждой команды и ждет подтверждения
    от пользователя - переходить к следующей команде или нет 
    (используется для отладки командных файлов).В режиме OFF - 
    нормальное выполнение командного файла.

> SET TALK [ON/OFF] -- результаты выполнения команд отобража-
	ются на экран. В режиме OFF результаты не отображаются.

> SET ALTERNATE TO [<файл>] -- создает файл на диске типа TXT 
	для сохранения образа экрана. Формат SET ALTERNATE TO 
	закрывает TXT-файл.
> SET DATE TO <XX/XX/XX> -- изменяет системную дату без 
		проверки формата вводимой строки.

> SET DEFAULT TO <устройство> -- устанавливает для DBASE II
				 текущий дисковод.

> SET FORMAT TO <SCREEN / PRINT> -- SCREEN посылает вывод по 
     командам @ SAY на экран.  PRINT посылает вывод на принтер.




> SET FORMAT TO [<формфайл>] -- открывает FMT-файл, который 
	используется для форматирования экрана для  READ, 
	APPEND, EDIT, INSERT, CREATE, @ SAY. SET FORMAT TO 
	закрывает любой открытый FMT-файл.

> SET HEADING TO <строка> -- запоминает <строку> и печатает ее
			в заголовке отчета (по команде REPORT).

> SET INDEX TO <индексный файл> -- устанавливает индексный 
	файл для использования с текущей базой. Остальные 
	индексные файлы закрываются. SET INDEX TO закрывает 
	все индексные файлы.
> SET MARGIN TO <N> -- устанавливает левую границу при печати 
	отчетов на принтере на <N>-ю колонку.









*EXIT
*SKIP
> SKIP  --  перемещение указателя текущей записи.

  SKIP [+] [<выр>]
       [-]







*EXIT
*SORT
> SORT  --  сортировка текущего файла по <полю>, создание 
	нового <файла>, содержащего отсортированные данные. 
	Записи сортируются в последовательности кода кои-7. 
	Записи, помеченные для удаления, не сортируются. 

  SORT ON <поле> TO <файл> [ASCENDING]
                          [DESCENDING] 

           . USE MAILLIST
           . SORT ON ZIP TO MAILZIP DESCENDING

*EXIT
*STORE
> STORE --  вычисление значения выражения и запоминание его 
	    в переменной памяти.

  STORE <выр> TO <перпам>

           . STORE 3 TO NUMBER
             3
           . STORE NUMBER + 9 TO NUMBER2
             12


*EXIT
*SUM
> SUM -- суммирование значений числовых полей текущего файла.
 
SUM <поле> [,<поле>] [диапазон>] [TO <спис.перпам>] [FOR <выр>]

 . USE SHOPLIST [ITEM-Товар, COST-Цена, NUMBER-Кол. покупок]
 . SUM COST * NUMBER FOR ITEM = 'Кофе'
 . SUM NUMBER FOR ITEM = 'Масло' TO HARD
 . SUM NUMBER,NUMBER*COST FOR ITEM = 'Масло' .AND. COST > 3.60



*EXIT
*TEXT
*ENDTEXT
> TEXT -- вывод текстовой информации в командных файлах без 
	  использования команд @ SAY или ?. Текстовая информа-
	  ция выводится до команды ENDTEXT.








*EXIT
*TOTAL
> TOTAL -- создание суммарной версии индексированного или 
	отсортированного файла базы путем копирования записей 
	только с уникальным <ключом>.  Указанный ключ должен 
	быть ключом,по которому отсортирована база. Записи с 
	одинаковым ключом удаляются, а значения их числовых 
	полей суммируются.

  TOTAL TO <файл> ON <ключ> [FIELDS <список>] [FOR <выр>]



*EXIT
*UPDATE
> UPDATE -- изменение значений полей данных текущего файла.

 UPDATE FROM <файл> ON <ключ> [ADD <спис.полей>]
		 [REPLACE <спис.полей>]







*EXIT
*USE
> USE --  открытие файла базы для последующих операций. 

  USE [<файл>]
  USE <файл> INDEX <индексфайл> [,<индексфайл>,...<индексфайл>]







*EXIT
*WAIT
> WAIT --  приостановление выполнения операций  до ввода 
   одиночного символа с клавиатуры. Команда WAIT TO <перпам> 
   запоминает введенный символ в переменную памяти.

  WAIT [то <перпам>]






*EXIT
*FUNCTIONS
> @ --  @(<строка1>,<строка2>) - поиск подстроки в строке.

> * -- распознавание удаленной записи.

> # -- определение номера текущей записи.

> ! -- !(<строковое выражение>)  - перевод строчных букв в 
				   прописные.

> $ -- $(<строковое выражение>,<начало>,<длина>) - выделение 
						   подстроки.

> CHR -- CHR(<числовое выпажение>) - выдача символа по коду.

> DATE()  -- выдача текущей даты.

> EOF -- определение конца файла.

> FILE -- FILE(<имя файла>) - определение наличия файла.

> INT -- INT(<числовое выражение>) -- получение целого числа.

> LEN -- LEN(<строка>) -- определение длины строки.

> STR -- STR(<числовое выражение>,<длина>[,<десятичные>])  - 
	преобразование числового выражения в строку.

> VAL -- VAL(<строка>) - перевод строки в целое число.

> TRIM -- TRIM(<строка>) - удаление пробелов в конце строки.

> TYPE -- TYPE(<выражение>) - определение типа выражения.

> TEST -- TEST(<выр>) - синтаксический разбор выражения.

*EXIT
*LIMITS
		Ограничения и числовые значения
максимальное количество полей в записи                32  
максимальное количество символов в записи           1000 
максимальное количество записей в файле базы       65535 
максимальное количество символов в строке            254 
максимальное количество разрядов в числовом поле      10      
наибольшее число                            1.8 X 10**63 
наименьшее число                           1.0 X 10**-63 
максимальное количество переменных памяти             64 
максимальное количество символов в предложении       254 
максимальное количество выражений в команде SUM        5 
максимальное количество символов в заголовке отчета  254 
максимальное количество символов в ключе              99 
максимальное количество отложенных команд GET         64 
максимальное количество одновременно открытых файлов  16 
количество командных файлов                       неограничено




*EXIT
*INT
         Функция получения целого числа INT 
	 ==================================
INT(<числовое выражение>)

Эта функция вычисляет числовое выражение и отбрасывает дробную
часть, чтобы получить целое число.
Примеры:

    . STORE 123.656 TO X
    123
    . ? INT(X)
    123
*EXIT
*# 
        Функция определения номера текущей записи # 
	===========================================
#
Значение этой функции - целое число, соответствующее номеру 
текущей записи.
Примеры:

    . ? #
    . SKIP
    . ? #
     5
*EXIT
*STR
	Функция преобразования числа в строку STR 
	=========================================
STR(<числовое выражение>,<длина>,[<десятичные>])

Эта функция вычисляет числовое выражение и получает строку 
символов, имеющую длину <длина>. <десятичные> есть число цифр 
после десятичной точки. Все операнды могут быть литералами, 
переменными или выражениями. Если эта функция используется 
для вычисления ключа при индексировании, то все операнды должны
быть литералами.


Пример:

    . ? STR(123.456,9,2)
    BBB123.45                (буквой в обозначены пробелы)





*EXIT
*$
	Функция выделения подстроки $ 
	=============================
$(<строковое выражение>,<начало>,<длина>)

Эта функция формирует строку символов из указанной части 
другой строки. Значение этой функции есть строка длиной 
<длина>, заполненная символами из <строкового выражения>, 
начиная с символа на позиции <начало длиной в <длина> символов.
<начало> и <длина> могут быть литералами, переменными или 
выражениями. Если функция используется для получения ключа при
индексировании, то операнды должны быть литералами.

Пример.

    . ? "гл"+$("автобус",4,4)
    глобус





*EXIT
*VAL
	Функция перевода строки в целое число VAL
	=========================================
VAL(<строка>)

Эта функция формирует целое число из символьной строки. Длина 
этого целого числа равна числу символов строки.Если символьная
строка начинается с цифровых символов и далее содержит нециф-
ровые символы, то получаемое функцией значение будет равно 
предшествующим цифровым символам.
Пример:
          . ? VAL("275.97 рублей")
            275
*EXIT
*LEN
	Функция определения длины строки LEN 
	====================================
LEN(<строка>)

Функция возвращает целое число, равное числу символов в сим-
вольной строке.
Пример:

    . ? LEN("автобус")
         7

*EXIT
**
	Функция распознавания удаленной записи *
	========================================
 *

Это логическая функция, которая имеет значение .TRUE., если 
текущая запись файла базы помечена для удаления,иначе - .FALSE.
Пример:

    IF .NOT. *
         SKIP
         ELSE
           GOTO BOTTOM
*EXIT
*EOF
	Функция распознавания конца файла базы EOF 
	==========================================
EOF

Эта логическая функция, имеющая значение .TRUE.,если достигнут
конец текущего файла базы.

Пример.
    IF EOF
       CLEAR

*EXIT
*@
	Функция поиска подстроки @ 
	==========================
@(<строка1>,<строка2>)

Эта функция дает целое число, значение которого есть позиция 
в <строке2>, начиная с которой <строка1> является подстрокой 
<строки2>. Если <строка1> не содержится в <строке2>,то функция
дает 0, т.е. эта функция сообщает, где <строка1> была найдена 
в <строке2>.
Пример:
           . ? @("ус","автобус")
             6
*EXIT
*!
	Функция перевода строчных букв в прописные ! 
	============================================
!(<строковое выражение>)

Эта функция дает ту же строку, но только все строчные буквы 
переводятся в прописные.
Пример:

    . ? !("vh")
    VH

*EXIT
*CHR
	Функция выдачи символа по коду CHR
	==================================
CHR(<числовое выражение>)

Эта функция дает символ, код которого в таблице кодов кои-7 
равен значению <числового выражения>. Она полезна, когда вы 
желаете послать управляющие символы на устройство, например, 
принтер.
Пример:

    . ? CHR(110-7)
        g
*EXIT
*DATE
	Функция выдачи текущей даты DATE 
	================================
DATE()

Функция генерирует символьную строку, содержащую текущую 
(системную) датут в формате ДД/ММ/ГГ. Ее длина всегда равна 8.
Между скобками ничего не ставится.Текущая дата устанавливается
в начале работы с DBASE II или командой SET DATE TO ДД/ММ/ГГ.
Пример:

    . ? DATE()
    15/10/88
*EXIT
*FILE
	Функция определения наличия файла FILE 
	======================================
FILE(<имя файла>)

Эта логическая функция имеет значение .TRUE., если файл с 
<именем файла> существует, и значение .FALSE., если файла нет. 
Пример:

    . ? FILE("DBASE.COM")
    .T.

*EXIT
*TEST
	Функция синтаксического разбора выражения TEST 
	==============================================
TEST(<выражение>)

Эта функция выдает различные значения. Эти значения зависят 
от синтаксиса заданного выражения.






Примеры:
    . ? TEST(5+5*2)
     -6              (для некоторых арифметических выражений)
    . ? TEST("A"/2)
     0         (для переменных разных типов или неопределенных)
    . ? TEST(4+2-56<100)
     1          (для логических выражений над числами)
    . ? TEST("B")
     1                     (длина строки)
    . ? TEST("МА"+"ШИНА")
     6                   (длина результата конкатенации строк)
*EXIT
*TYPE
	Функция определения типа выражения TYPE 
	=======================================
TYPE(<выражение>)

Эта функция дает односимвольную строку, содержащую тип 
выражения 'C', 'N' или 'L' - строковое,числовое или логическое
соответственно.
Пример:

    . ? TYPE(2+2=4)
     L
*EXIT
*TRIM
	Функция удаления пробелов в конце строки TRIM 
	=============================================
TRIM(<строка>)

Эта функция удаляет пробелы в конце строковой переменной. 
Функцию нельзя использовать в команде INDEX, т.к. длина ключа 
должна бать вычислима.
Пример:

    . STORE TRIM("СУБД        ")+' "DBASE II"' TO A
    . ? A
     СУБД "DBASE II"
*EXIT
*RANK
	Функция выдачи кода по символу RANK 
	===================================
RANK(<строка>)

Эта функция возвращает значение кода кои-7 первого символа 
<строки> в десятичном виде.
Пример:

    . ? RANK("g")
       103

*EXIT

