Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

ГЛАВА 10
| << | < | > | >>

ГЛАВА 10
TOOLS (ВСПОМОГАТЕЛЬНЫЕСРЕДСТВА)


Услуга Tools (вспомогательные средства) используется для управления вашими базами данных системы Paradox. Ее опции могут помочь вам управлять таблицами и объектами системы Paradox, увеличивая эффективность, надежность и безопасность ваших данных.

После того, как вы выберете услугу Tools из Главного меню, на экране появится меню Tools, содержащее 8 услуг:

  • Rename (переименовать): изменить имя таблицы, формы, отчета, графика или скрипта.
  • QuerySpeedup (ускорить запрос): ускорить выполнение запросов, которыми вы часто пользуетесь, путем создания для таблиц вторичных индексов.
  • ExportImport (экспорт/импорт): передать/получить информацию в/от другие системы.
  • Copy (копировать): сделать копию таблицы, формы, отчета, графика, скрипта или семейства таблицы.
  • Delete (удалить): удалить таблицу, форму, отчет, скрипт, график, вторичный индекс или другой объект вашей базы данных.
  • Info (информация): получить информацию о структуре, семействе или блокировках таблицы; об именах таблиц, скриптов или файлов на диске; о пользователях в сети.
  • Net (сеть): блокировать или освободить таблицу; установить ваш личный каталог, пользовательское имя, интервал автоматического обновления экрана.
  • More (дополнительные средства): подменю, содержащее семь дополнительных услуг:
    • Add (добавить): добавить записи из одной таблицы в другую.
    • MultiAdd (добавить в несколько таблиц): добавить записи из одной таблицы в две или более таблиц.
    • FormAdd (добавить через форму): добавить записи из одного набора связанных таблиц в другой через многотабличную форму.
    • Subtract (вычесть): удалить записи, которые есть в одной таблице, из другой таблицы.
    • Empty (очистить): удалить все записи из таблицы.
    • Protect (защитить): защитить таблицы или скрипты от несанкционированного доступа или случайных изменений.
    • Directory (каталог): изменить рабочий каталог системы Pa- radox.
    • ToDos (выйти в DOS): временно выйти в DOS.

RENAME (ПЕРЕИМЕНОВАТЬ)


Услуга Rename (переименовать) позволяет изменить имя таблицы, формы, отчета, скрипта или графика. Хотя вы можете переименовать объект системы Paradox когда захотите, вы, вероятно, чаще всего воспользуетесь этой услугой, чтобы переименовать таблицы answer, содержащие результаты выполнения запроса. (Если вы не переименуете таблицу answer, она будет перезаписана при следующем запросе или удалена при выходе из системы Paradox).

После того, как вы выберете услугу Rename, Paradox спросит, какой вид объекта нужно переименовать:


*Table Form Report Script Graph
Rename a table and its family of forms, reports and indexes. (Переименовать таблицу и ее семейство форм, отчетов и индексов.)
  • Table (таблица): переименовать таблицу и ее семейство из форм, отчетов, индексов и других объектов.
  • Form (форма): переименовать форму.
  • Report (отчет): переименовать отчет.
  • Script (скрипт): переименовать скрипт.
  • Graph (график): переименовать файл установок графика.

В зависимости от типа объекта, который вы выбрали, Paradox выдаст приглашение или меню для текущего и нового имени. Для формы, например, он сначала спросит, к какой таблице относится форма:


Table:
Enter name of table with form to rename or press {Enter} for a list of tables.
(Введите имя таблицы, форму которой нужно переименовать, или нажмите {Enter}, чтобы получить список таблиц.)

Наберите имя таблицы или нажмите {Enter} и выберите его из меню. После этого Paradox выдаст меню существующих форм для выбранной таблицы, а затем меню возможных имен для форм:


*F 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Standard Form
(Стандартная форма)

После того, как вы ввели или выбрали текущее и новое имена, Paradox переименует объект. Однако если новое имя объекта совпадает с именем уже существующего объекта, можно либо заменить объект, либо отказаться от переименования.

Переименование в сети


Когда вы используете услугу Tools/Rename в сети, Paradox автоматически накладывает полную блокировку как на исходный, так и на целевой объект. Это означает, что другие пользователи не смогут работать с этими объктами, пока они не будут переименованы. Если кто-нибудь в сети использует любой объект каким-либо образом, вы не сможете произвести переименование, пока этот пользователь не закончит работу.

QUERYSPEEDUP (УСКОРИТЬ ЗАПРОС)


Услуга QuerySpeedup позволяет вам увеличить скорость выполнения запросов. Если вы часто выполняете некоторый запрос, то с помощью услуги QuerySpeedup вы можете сократить время обработки этого запроса.

После того, как вы выберете услугу QuerySpeedup, Paradox построит вторичный индекс для каждого неключевого поля текущего запроса, в котором есть критерии выбора. ("Вторичный", потому что если таблица имеет ключ, Paradox уже поддерживает первичный индекс для ключевых полей). Индексы помогают системе найти информацию в индексированных файлах. Для получения более подробной информации о первичных и вторичных индексах обратитесь к главе 14.

Вторичные индексы имеют большое значение, поскольку они позволяют организовать быстрый доступ к неключевым полям таблицы. С помощью программы конфигурации (CCP) вы можете указать, где вы хотите, чтобы вторичные индексы поддерживались постоянно (то есть обновлялись при каждом изменении таблицы; это возможно только для таблиц с ключевыми полями), а где обновлялись, если необходимо, перед очередным выполнением запроса. (Более подробно об этом см. в главе 14.)

Прежде чем выбрать услугу QuerySpeedup, убедитесь, что предложение запроса находится в рабочем поле. После того, как вы выберете услугу QuerySpeedup из меню Tools, Paradox выдаст сообщение "Processing query speedup", свидетельствующее о том, что он строит вторичные индексы. С этого момента индексы будут использоваться и обновляться автоматически.

Вы можете удивиться, почему бы не применить услугу QuerySpeedup для каждого запроса или почему Paradox не строит вторичные индексы для каждого поля в каждой таблице. Причина заключается в том, что индексы требуют места на диске, а их обновление требует времени. Кроме того, вряд ли имеет смысл создавать индексы для полей, которые содержат много повторяющихся значений или для запросов, выполнение которых требует меньше времени, чем обновление индексов.

Аналогично, поскольку ключевые поля в таблице уже индексированы, не имеет смысла использовать QuerySpeedup для запроса, который выбирает записи на основе только ключевых полей. Если вы попробуете это сделать, то получите сообщение "No speedup possible" (Ускорение невозможно).

Таким образом, услуга QuerySpeedup дает возможность ускорить те запросы, для которых это имеет смысл. Пожалуйста, можете экспериментировать. Для удаления всех вторичных индексов таблицы используйте услугу Tools/Delete.

Ускорение выполнения запроса в сети


Для использования услуги QuerySpeedup, необходимо, чтобы предложение ускоряемого запроса было размещено в рабочем поле. При помещении запроса в рабочее поле Paradox автоматически накладывает предохраняющую полную блокировку на соответствующую таблицу. Как и при нажатии вами клавиши {F2} для выполнения запроса, когда вы выбираете услугу Tools/QuerySpeedup в сети, Paradox берет "моментальный снимок" записей, вовлеченных в запрос, который он использует для построения вторичных индексов.

Если другой пользователь изменяет любую из записей, вовлеченных в индексирование во время взятия "моментального снимка", Paradox автоматически попытается взять моментальный снимок снова и будет пытаться сделать это, пока ему не удастся. Вам об этих попытках будет сообщено. Прервать автоматические повторы попыток можно с помощью клавиш {Ctrl}{Break}.

EXPORTIMPORT (ЭКСПОРТ/ИМПОРТ)


Большинство систем управления базами данных и электронных таблиц, включая Paradox, хранят данные в специальных форматах, которые несовместимы друг с другом напрямую. Поэтому услуга ExportImport является одной из самых полезных. Она позволяет легко передать данные из системы Paradox в другие системы и наоборот. Нет нужды заново вводить данные или перестраивать базу данных. Paradox почти все делает автоматически, не нужно даже запоминать имена файлов, поскольку программа выдаст их в меню.

Есть много причин, по которым нужно экспортировать или импортировать файлы и программы. Вы может, например, понадобиться:

  • экспортировать таблицу системы Paradox в электронную таблицу типа Quattro, Lotus 1-2-3 или Symphony;
  • превратить таблицы системы Paradox в файлы базы данных Reflex;
  • превратить ваши файлы системы dBASE в таблицы системы Paradox;
  • конвертировать список корреспонденции в системе Paradox в формат ASCII для работы с программой сортировки.

С помощью услуги ExportImport можно конвертировать данные между системой Paradox и следующими форматами:

  • Quattro
  • Lotus 1-2-3 (1А и 2.0) или Symphony (1.0 и 1.1)
  • dBASE II, III и III PLUS
  • pfs:file
  • VisiCalc (DIF)
  • ASCII.

После того, как вы выберете услугу ExportImport из меню Tools, на экране появится меню с двумя услугами:

  • Export (экспорт): преобразовать информацию из формата системы Paradox в другие форматы.
  • Import (импорт): преобразовать информацию из других программ в формат системы Paradox.

Export (экспорт)


Услуга Export позволяет преобразовать таблицы системы Paradox в форматы других систем. Вы можете экспортировать таблицы только в новые файлы данных, но не в существующие.

После того, как вы выберете услугу Export из меню Tools/ ExportImport, Paradox попросит указать с помощью меню, какой формат нужно экспортировать таблицу:

  • Quattro: экспортировать в формат системы Borland Quattro (файл с расширением .WKQ).
  • 1-2-3: экспортировать таблицы в формат системы Lotus 1-2-3 (файлы с расширением .WKS или .WK1).
  • Symphony: экспортировать таблицы в формат системы Lotus Symphony (файлы с расширением .WRK или .WR1).
  • DBase: экспортировать таблицы в системы dBASE II, III или III PLUS (Paradox спросит, в какую именно).
  • Pfs: экспортировать таблицы в систему pfs:file или IBM Filing Assistant (файлы с расширением .PFS).
  • Reflex: экспортировать таблицы в систему Borland Reflex (версий 1.0 или 1.1) (файлы с расширением .RXD).
  • VisiCalc: экспортировать таблицы в систему VisiCalc или в другие системы с файлами формата .DIF.
  • Ascii: экспортировать таблицы в ASCII-файлы формата .TXT (Paradox попросит указать, будут ли использованы в файле разделители).

Независимо от выбранного формата, Paradox попросит указать, какую таблицу нужно экспортировать:


Name:
Enter name of table to export or press {Enter} to see a list of tables.
(Введите имя таблицы, которую нужно экспортировать, или нажмите {Enter}, чтобы получить список таблиц.)

Наберите имя таблицы или нажмите {Enter}, чтобы выбрать его из меню. Затем Paradox попросит указать имя экспортированного файла:


File name:
Enter name to be given to converted file. (Введите имя файла, в который будет конвертирована таблица.)

Наберите новое имя файла и нажмите {Enter}. Как обычно, перед файлом можно поставить имя дисковода или каталога. Расширение файла вводить не нужно (например, .WKS или .TXT), хотя вы можете ввести его, если желаете.

После того, как вы ввели имя нового файла, Paradox будет копировать таблицу в новый файл в нужном формате. При экспорте файла на экран будет выдано сообщение о ходе преобразования.

                             Quattro
                             -------

Выбор пункта Quattro из меню Export позволяет вам экспортировать таблицу системы Paradox в файл электронной таблицы Borland Quattro.

В экспортированном файле каждая запись становится строкой, а каждое поле - столбцом. Имена полей системы Paradox становятся заголовками столбцов, расположенных в строке 1. Ширина каждого столбца будет равна ширине поля системы Paradox вплоть до допустимой системой Quattro. Если значение больше, чем ширина столбца, все значение будет конвертировано, но часть его будет скрыта.

                        1-2-3 и Symphony
                        ----------------

Услуги 1-2-3 и Symphony из меню Export позволяют экспортировать таблицу системы Paradox в файл электронной таблицы Lotus 1-2-3 или Symphony.

После того, как вы выберете любую из этих услуг, Paradox спросит, в какую версию 1-2-3 или Symphony нужно экспортировать файл:

  • 1) 1-2-3 Release 1 (1-2-3, версия 1): преобразовать таблицу в файл формата .WKS.
  • 2) 1-2-3 Release 2 (1-2-3, версия 2): преобразовать таблицу в файл формата .WK1.

Или

  • 1) Symphony Release 1.0 (Symphony, версия 1.0): преобразовать таблицу в файл формата .WRK.
  • 2) Symphony Release 1.1 (Symphony, версия 1.1): преобразовать таблицу в файл формата .WR1.

В экспортированном файле электронной таблицы имена полей системы Paradox станут именами заголовоков столбцов в строке 1. Ширина каждого столбца будет равна ширине поля системы Paradox вплоть до максимального значения, разрешенного в 1-2-3 или Symphony. Если некоторое значение в таблице шире, чем ширина столбца, часть преобразованного значения будет скрыта.

                              DBase
                              -----

Услуга DBase позволяет вам экспортировать таблицу системы Paradox в файл формата dBASE II или dBASE III. После того, как вы выбрали услугу из меню Export, Paradox спросит, какой формат следует использовать:

  • 1) dBASE II: преобразовать таблицу в файл формата dBASE II
  • 2) dBASE III: преобразовать таблицу в файл формата dBASE III или III PLUS.

В таблице ниже показано, как типы полей системы Paradox преобразуются в типы полей системы dBASE.

Поле системы Paradox Поле dBASE


Алфавитно-цифровое (А) Символьное

Числовое (N)                  Числовое (19 цифр:14 целая часть и
                              5-дробная)
Денежное($)                   Числовое (2 цифры)
Короткое целое (S)            Числовое (5 цифр)
Дата (D)                      Символьное (dBASE II)
                              или дата (dBASE III)
                               Pfs
                               ---

Услуга Pfs из меню Export позволяет экспортировать таблицу системы Paradox в файлы форматов систем pfs:file или IBM Filing Assistant. Файл будет иметь расширение .PFS, если не будет назначено другое расширение файла.

                             Reflex
                             ------

Услуга Reflex позволяет вам экспортировать таблицу системы Paradox в файл данных системы Reflex версии 1.0 или 1.1. После того, как вы выбрали услугу из меню Export, Paradox спросит, какой формат следует использовать:

  • 1) Reflex Release 1.0 (Reflex версии 1.0): преобразовать таблицу в файл системы Reflex версии 1.0.
  • 2) Reflex Release 1.1 (Reflex версии 1.1): преобразовать таблицу в файл системы Reflex версии 1.1.

В таблице ниже показано, как типы полей системы Paradox преобразуются в типы полей системы Reflex.

Поле системы Paradox Поле системы Reflex


Алфавитно-цифровое (А) Текстовое

Числовое (N)                  Числовое
Денежное($)                   Числовое (отформатированное как
                              денежное)
Короткое целое (S)            Целое
Дата (D)                      Дата (отформатированное как
                              mm/dd/yy)

Отметим, что диапазон допустимых дат в системе Paradox шире, чем в системе Reflex. Если дата системы Paradox выходит за рамки диапазона Reflex, оно будет экспортировано как поле даты, но со значением ERROR.

                            VisiCalc
                            --------

Услуга VisiCalc из меню Export позволяет экспортировать таблицу системы Paradox в файл формата .DIF для работы с системой VisiCalc или другими программами. Paradox поддерживает стандарт .DIF, предложенный фирмой DIF Clearinghouse.

                              Ascii
                              -----

Услуга Ascii позволяет преобразовать таблицу системы Paradox в ASCII-файл. Например, с помощью услуги Ascii/Delimited можно преобразовать таблицу адресов для работы с программой сортировки. Записи в ASCII-файле будут разделены символом "возврат кареткиперевод строки".

В зависимости от типа экспортируемой записи, если вы планируете включить ASCII-файл в документ, подготовленный текстовым процессором, результаты могут быть лучше, если вы воспользуетесь услугой Report/Output/File вместо услуги Export/Ascii. Более подробно об этом смотрите в главе 3 книги "Представление данных системы Paradox".

После того, как вы выберете услугу Ascii из меню Export, Paradox попросит указать, будут ли разграничены поля в ASCII-фай- ле:

  • Delimited (c разделителями): преобразовать таблицу в файл, в котором поля разграничены и отделены друг от друга.
  • Text (текст): преобразовать таблицу в файл, в котором поля не разграничены или отделены друг от друга.
    • Delimited (с разделителями)

Услуга Delimited позволяет вам преобразовать таблицу в ASCII-файл, в котором поля разделяются запятыми (по умолчанию) и алфавитно-цифровые значения заключаются в двойные кавычки (").

Если вы хотите, то можете с помощью программы конфигурации (CCP) установить другой разделитель полей или установить, будут ли пустые числовые значения преобразовываться в нули. Более подробно об этом смотрите в главе 14.

  • Text (текст)

Услуга Техt позволяет преобразовавыть одну таблицу системы Paradox, содержащую одно поле, в ASCII-файл. Каждая запись таблицы становится строкой текстового файла. Поле должно быть алфавитно-цифровым.

Import (импорт)


Услуга Import (импорт) позволяет преобразовать файлы данных из других программ в таблицы системы Paradox. Вы можете импортировать только файлы данных, но не приложения или формы.

За исключением ASCII-файлов с разделителями, файлы данных из других программ всегда импортируются в новые таблицы системы Paradox, а не в существующие. Paradox определяет структуру новой таблицы автоматически. С помощью услуги Tools/More/Add вы можете добавлять записи из этой таблицы в существующую таблицу, если таблицы совместимы по структуре.

После того, как вы выбрали услугу Import из меню Tools/ExportImport, Paradox попросит указать, файлы какого формата данных нужно импортировать:

  • Quattro: импортировать данные из WKQ-файлов системы Borland Quattro.
  • 1-2-3: импортировать из файлов системы Lotus 1-2-3 (форматов .WKS или .WK1).
  • Symphony: импортировать из файлов системы Lotus Symphony (форматов .WRK или .WR1).
  • DBase: импортировать из файлов систем dBASE II, III или III PLUS (формата .DBF). Paradox спросит, какая именно система вам нужна.
  • Pfs: импортировать из файлов систем Pfs:file или IBM Filing Assistant (формата .PFS)
  • Reflex: импортировать из файлов системы Borland Reflex (вер- сий 1.0 и 1.1) (формата .RDX).
  • VisiCalc: импортировать из файлов системы VisiCalc (формата .DIF).
  • Ascii: импортировать из ASCII-файлов (Paradox спросит, будет ли файл иметь разделители).

После того, как вы определите формат файла, Paradox спросит, какой файл нужно импортировать:


File name:
Enter name of file to import.
(Введите имя импортируемого файла.)

Наберите имя файла или нажмите {Enter}, чтобы выбрать его из меню. Как обычно, вы можете поставить перед именем файла имя дисковода или каталога (например, b:district). Расширение файла набирать не обязательно (например, .WKS для файла системы 1-2-3), хотя вы можете это сделать, если желаете.

Затем (за исключением случая, когда текст ASCII-файла с разделителями добавляется в существующую таблицу), Paradox попросит указать имя новой таблицы:


Table:
Enter name to be given to new Paradox table. (Введите имя новой таблицы.)

Наберите имя новой таблицы и нажмите {Enter}. Если таблица уже существует, Paradox спросит, хотите ли вы заменить ее новой или отказаться от импорта файла.

После того, как вы ввели имя таблицы, Paradox импортирует файл данных в новую таблицу. На экране появится сообщение о ходе преобразования. Когда оно закончится, новая таблица появится на экране.

Алгоритм преобразования файлов описан ниже в этом разделе для каждого формата файлов. Paradox всегда стремится применить более экономный тип поля (N, $ или D вместо А), который присваивается всем значениям в поле.

Если Paradox не может определить имя поля из импортируемого файла, он создаст новое имя поля в виде Form-n, где n обозначает номер столбца поля. Если несколько полей имеют одинаковые имена, Paradox обозначит повторяющиеся имена в виде Field Name-n, где Field Name будет заменено названием повторяющегося поля, а n - номером по порядку.

Если при импорте обнаружится, что некоторая запись не конвертируется, то она будет перенесена во временную таблицу problems.

                             Quattro
                             -------

Выбор пункта Quattro из меню Import позволяет вам импортировать файл электронной таблицы Borland Quattro в таблицу системы Paradox.

Paradox конвертирует файлы системы Quattro в таблицы путем преобразования каждой строки в запись, а каждого столбца в поле. Импортируются долько данные (значения), но не формулы, на которых они основаны.

Поскольку электронная таблица накладывает некоторые ограничения на значения в столбцах, системе Paradox бывает трудно определить тип поля правильно, поэтому он будет назначать наиболее ограничивающий тип поля, который позволит разместить все данные соответствующего столбца. В таблице ниже показано, как столбцы системы Quattro преобразуются в типы полей системы Paradox.

Столбец системы Quattro Поле системы Paradox


Метки                         Алфавитно-цифровое (А)
Числа                         Числовое (N)

Числа (2 цифры после за- Денежное ($) пятой или отформатирован-
ное как денежное)
Числа (отформатированное Дата (D)
как дата)

Следующие правила определяют, на какие категории делятся столбцы:

  1. Первая строка, которая содержит текст (обычно строка (Row) 1), считается содержащей имена. Эта строка и строки над ней не трактуются как данные.
  2. Любые столбцы, которые содержат метку (текст), преобразуются в поле типа A.
  3. Максимальное число знаков в дробной части в столбце служит для определения типа поля - N или $.
  4. Столбец, содержащий даты и числа, преобразуется к полю типа A.
  5. Даты в столбце с метками трактуются как метки; попытки поместить текст в форму mm/dd/yy в качестве даты не предпринимаются.

Исходя из этих правил, числа в нередактируемых электронных таблицах будут часто импортированы в алфавитно-цифровые (A) поля системы Paradox. Например, столбцы электронной таблицы могут иметь строки дефисов, разделяющих группы чисел. Поскольку только поля типа A могут содержать числа и дефисы, столбец будет преобразован к полю типа A, хотя он в первую очередь содержит числа.

Для того, чтобы избегнуть проблем подобного рода, отредактируйте электронную таблицу, чтобы она не содержала сомнительных символов. Используйте этот способ, чтобы сделать электронную таблицу похожей на базу данных:

  1. Удалите "лишние" символы (такие, как дефисы, звездочки, восклицательные знаки), используемые только для улучшения внешнего вида таблицы.
  2. Сделайте так, чтобы каждый столбец содержал данные одного вида и использовал одни и те же опции форматирования.
  3. Поместите названия столбцов и другие текстовые данные в первую строку, которую Paradox использует для создания имен полей.
                        1-2-3 и Symphony
                        ----------------

Услуги 1-2-3 и Symphony из меню Import позволяют импортировать файлы электронных таблиц Lotus 1-2-3 или Symphony в таблицы системы Paradox.

После того, как вы выберете одну из этих услуг, Paradox попросит указать, файлы какой версии систем 1-2-3 или Symphony нужно импортировать:

  • 1) 1-2-3 Release 1 (1-2-3, версия 1): импортировать файл формата .WKS.
  • 2) 1-2-3 Release 2 (1-2-3, версия 2): импортировать файл формата .WK1.

Или

  • 1) Symphony Release 1.0 (Symphony, версия 1.0): импортировать файл формата .WRK.
  • 2) Symphony Release 1.1 (Symphony, версия 1.1): импортировать файл формата .WR1.

Paradox преобразует конвертирует файлы систем 1-2-3 и Symphony в таблицы, рассматривая каждую строку как запись и каждый столбец как поле. Важно отметить, что импортируются только данные - не формулы, на которых они могут основываться!

Поскольку электронная таблица накладывает некоторые ограничения на значения в столбцах, системе Paradox бывает трудно определить тип поля правильно, поэтому он будет назначать наиболее ограничивающий тип поля, который позволит разместить все данные соответствующего столбца. В таблице ниже показано, как столбцы систем Lotus 1-2-3 и Symphony преобразуются в типы полей системы Paradox.

Столбец Lotus 1-2-3 Поле системы Paradox


Метки                        Алфавитно-цифровое (А)
Числа                        Числовое (N)
Числа (2 десятичных          Денежное ($)
знака после запятой)
Числа (отформатиро-          Дата (D)

ванные как даты)

Следующие правила определяют, на какие категории делятся столбцы:

  1. Первая строка электронной таблицы, которая содержит текст (обычно Row 1), трактуется как содержащая имена столбцов. Эта строка и все строки выше нее не рассматриваются как данные.
  2. Любой столбец, который содержит метку (текст), будет преобразован к типу А.
  3. Максимальное число знаков после запятой определит тип поля - N или $ - для числовых столбцов.
  4. Столбец, содержащий даты и числа, будет преобразован к типу А.
  5. Даты в столбце с метками трактуются как метки; попытки поместить текст в форму mm/dd/yy в качестве даты не предпринимаются.

Исходя из этих правил, числа в нередактируемых электронных таблицах будут часто импортированы в алфавитно-цифровые (A) поля системы Paradox. Например, столбцы электронной таблицы могут иметь строки дефисов, разделяющих группы чисел. Поскольку только поля типа A могут содержать числа и дефисы, столбец будет преобразован к полю типа A, хотя он в первую очередь содержит числа.

Для того, чтобы избегнуть проблем подобного рода, отредактируйте электронную таблицу, чтобы она не содержала сомнительных символов. Используйте этот способ, чтобы сделать электронную таблицу похожей на базу данных:

  1. Удалите "лишние" символы (такие, как дефисы, звездочки, восклицательные знаки), используемые только для улучшения внешнего вида таблицы.
  2. Сделайте так, чтобы каждый столбец содержал данные одного вида и использовал одни и те же опции форматирования.
  3. Поместите названия столбцов и другие текстовые данные в первую строку, которую Paradox использует для создания имен полей.
                              DBase
                              -----

Услуга DBase из меню Import позволяет импортировать файлы данных из систем dBASE II, III или III PLUS в таблицы системы Paradox.

Преобразование файлов dBASE в таблицы системы Paradox - однозначный процесс, поскольку и dBASE и Paradox имеют строгие правила для типов полей. В следующей таблице показано, как поля системы dBASE конвертируются в поля системы Paradox:

Поле системы dBASE Поле системы Paradox


Символьное                    Алфавитно-цифровое (А) той же длины
Логическое                    Алфавитно-цифровое (А) длиной 1
Числовое                      Числовое (N)
Числовое (2 знака             Денежное ($)

после запятой)
Дата (dBASE III и III PLUS) Дата (D)
Комментарий (dBASE III Алфавитно-цифровое (А) длиной 255 и III PLUS)

Отметим, что хотя комментарий в dBASE III или III PLUS может содержать до 4000 знаков, Paradox импортирует только первые 255 символов и игнорирует остальные.

                               Pfs
                               ---

Услуга Pfs из меню Import позволяет импортировать файлы данных из систем PFS или IBM Filing Assistant в таблицы системы Paradox. (Отметим для пользователей системы IBM Filing Assistant: файл должен иметь расширение .PFS, чтобы он был включен в меню файлов, и непустое расширение, чтобы его можно было импортировать.)

Поскольку система pfs:file не имеет спеецифичных типов данных, Paradox трактует каждое поле как символьную строку. Поэтому для каждого поля Paradox просматривает значения во всех записях, чтобы определить подходящий тип данных. Paradox будет использовать наиболее ограничивающий тип данных, который будет присвоен всем значениям в поле.

Следующая таблица содержит правила, по которым Paradox импортирует файлы pfs. Отметим, что хотя присоединенные страницы pfs могут содержать любое число символов, Paradox импортирует только перевые 255 символов и игнорирует остальные.

Поле Pfs                            Поле системы Paradox
--------------------------          ----------------------
Некоторое значение                  Алфавитно-цифровое (А)
содержит не цифру
Все значения содержат               Числовое (N)
только цифры
Все значения содержат               Денежное ($)

только цифры (2 десятичных
знака после запятой)
Все значения в формате Дата (D) yy/mm/dd
или mm/dd/yy
Страницы текста Алфавитно-цифровое (А)

                             Reflex
                             ------

Услуга Reflex из меню Import позволяет импортировать файлы данных из системы Reflex 1.0 или 1.1 в таблицы системы Paradox.

Преобразование файлов Reflex в таблицы системы Paradox - однозначный процесс, поскольку и Reflex и Paradox имеют строгие правила для типов полей. В следующей таблице показано, как поля системы Reflex конвертируются в поля системы Paradox:

Поле системы Reflex Поле системы Paradox


Текст                             Алфавитно-цифровое (А)
Повторяющийся текст               Алфавитно-цифровое (А)
Числовое                          Числовое (N)

Числовое (отформатированное Денежное ($) как денежное или финансовое)

Целое                             Короткое целое (S)
Дата                              Дата (D)
                            VisiCalc
                            --------

Услуга VisiCalc из меню Import позволяет импортировать файлы из системы VisiCalc и другие файлы формата DIF (Data InterChange Format) в таблицы системы Paradox. Напомним, что файлы электронных таблиц нужно конвертировать в формат .DIF прежде, чем импортировать их в Paradox.

Paradox преобразует DIF-файлы, рассматривая каждый кортеж (tuple) как запись, а каждый вектор (vector) как поле. Импортируются долько данные (значения), но не формулы, на которых они основаны.

Поскольку электронная таблица накладывает некоторые ограничения на значения в столбцах, системе Paradox бывает трудно определить тип поля правильно, поэтому он будет назначать наиболее ограничивающий тип поля, который позволит разместить все данные соответствующего столбца. В таблице ниже показано, как столбцы DIF-файлов преобразуются в типы полей системы Paradox.

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

  1. Если для имен столбцов не используется признак LABEL формата DIF, строка 1 рассматривается как имена столбцов, а не как данные.
  2. Любой столбец, который содержит текст, будет преобразован в поле типа А.
  3. Максимальное число знаков после запятой в столбце формата DIF определит тип поля - N или $.
  4. Столбец, который содержит как даты, так и числа, будет преобразован к полю типа А.

Столбец DIF Поле системы Paradox


Текст                         Алфавитно-цифровое (А)
Числа                         Числовое (N)
Числа (2 знака после          Деньги ($)

запятой)
Текст (в отформатиро- Дата (D)
ванном виде mm/dd/yy)

Исходя из этих правил, числа в нередактируемых электронных таблицах будут часто импортированы в алфавитно-цифровые (A) поля системы Paradox. Например, столбцы электронной таблицы могут иметь строки дефисов, разделяющих группы чисел. Поскольку только поля типа A могут содержать числа и дефисы, столбец будет преобразован к полю типа A, хотя он в первую очередь содержит числа.

Для того, чтобы избегнуть проблем подобного рода, отредактируйте электронную таблицу, чтобы она не содержала сомнительных символов. Используйте этот способ, чтобы сделать электронную таблицу похожей на базу данных:

  1. Удалите "лишние" символы (такие, как дефисы, звездочки, восклицательные знаки), используемые только для улучшения внешнего вида таблицы.
  2. Сделайте так, чтобы каждый столбец содержал данные одного вида и использовал одни и те же опции форматирования.
  3. Используйте признак LABEL для задания имени каждому вектору (полю). Если это невозможно, поместите заголовки столбцов в строку A.

Если вы использовали LABEL для поименования вектора, Paradox будет считать имя вектора именем поля. В противном случае, первый кортеж не будет рассматриваться как данные, и любой текст в нем будет трактоваться как имя поля. Там, где нет текстового вектора в первом кортеже, Paradox создаст имя поля вида Field-n.

                              Ascii
                              -----

Услуга Ascii позволяет преобразовывать ASCII-файлы в таблицы системы Paradox. Например, с помощью услуги ASCII/Delimited вы можете импортировать файл списков адресов для работы с программой сортировки. Записи в импортированном файле отделяются друг от друга символом "возврат каретки - перевод строки".

После того, как вы выбрали услугу Ascii из меню Import, на экране появится подменю, содержащее три услуги:

  • Delimited (с разделителями): импортировать ASCII-файл с разделителями в новую таблицу системы Paradox.
  • Append Delimited (добавить файл с разделителями): импортировать ASCII-файл с разделителями и добавить записи в существующую таблицу системы Paradox.
  • Text (текст): импортировать файл, в котором поля не разделены.
    • Delimited (с разделителями)

Эта услуга позволяет импортировать ASCII-файл, в котором поля отделены друг от друга, в новую таблицу, которую Paradox создает автоматически. По умолчанию, Paradox считает, что поля в ASCII-файле отделены друг от друга запятыми; кроме того, значения могут быть заключены в апострофы или кавычки. С помощью программы конфигурации (CCP), описанной в главе 14, можно установить другой разделитель полей или значений.

После того, как вы выбрали услугу Delimited и файл для импорта, Paradox попросит вас задать имя для новой таблицы. Затем он просмотрит ASCII-файл, чтобы определить число и типы полей, которые содержат файл. При определении типа поля Paradox будет использовать наиболее ограничивающий тип, которому удовлетворяют все значеният в столбце. Затем Paradox создаст новую таблицу и импортирует в нее ASCII-файл.

  • AppendDelimited (добавить файл с разделителями)

Эта услуга позволяет импортировать ASCII-файл с разделителями-запятыми в существующую таблицу системы Paradox. Преимущество услуги AppendDelimited состоит в том, что Paradox не просматривает ASCII-файл, чтобы определить типы полей. Следовательно, с помощью услуги AppendDelimited импорт файла идет в 2 раза быстрее, чем при использовании услуги Delimited.

После того, как вы выбрали файл для импорта, Paradox попросит указать имя существующей таблицы, в которую будут добавляться данные.


Table:
Enter name of table or press {Enter} to see a list of tables. (Введите имя таблицы или нажмите {Enter}, чтобы получить список таблиц.)

Если таблица системы Paradox не содержит ключевых полей, записи, импортированные из ASCII-файла, будут добавлены в конец таблицы. Если же таблица содержит ключевые поля, то возможны следующие случаи, описанные ниже.

# Импорт записей в таблицу, содержащую ключевые поля.

Если существующая таблица содержит ключевые поля, вы увидите подменю, содержащее две услуги.

  • NewEntries (новые данные): импортировать записи в таблицу без изаменения существующих записей.
  • Update (заменить): использовать записи в импортируемой таблице для замены существующих записей в таблице.

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

При использовании Update (заменить) Paradox использует записи в импортируемом файле для замены записей в таблице. Если запись в файле имеет такое же значение ключа, что и существующая запись в таблице, существующая запись из таблицы (!) будет помещена во временную таблицу changed, а на ее место будет вставлена импортируемая запись.

# Значения, которые не совпадают

Если значение в импортируемой записи не совпадает с типом поля в таблице системы Paradox, запись будет добавлена во временную таблицу problems, которую вы можете просмотреть после окончания операции импортирования. Ниже приводятся некоторые из причин, по которым запись из ASCII-файла может попасть в таблицу problems (проблемы):

  • число полей в записи отличается от числа полей в таблице;
  • запись содержит нечисловые данные в числовом поле;
  • неправильная дата (например, значение месяца больше 12).

Таблица problems содержит три поля. Первое поле показывает номер строки или записи из ASCII-файла. Второе поле содержит первые 80 символов текста. Третье поле содержит сообщение, объясняющее, почему Paradox не смог импортировать строку. С помощью этой информации вы сможете найти и исправить конфликтные значения.

  • Text (текст)

Услуга Тext позволяет импортировать ASCII-файл, в котором поля не разделяются специальным символом. Для хранения импортированных записей Paradox создаст новую таблицу, которая включает всего одно поле с именем Тext. Каждая строка в импортируемом файле становится записью таблицы.

Если в ASCII-файле встречаются записи, которые не могут быть преобразованы, Paradox помещает их во временную таблицу problems (проблемы). Вы можете впоследствии редактировать записи в ней или изменять их еще каким-либо образом. Помните, что таблица problems удаляется при следующих операциях импорта или изменении структуры данных, а также при выходе из системы Paradox.

Международные соглашения


Система Paradox позволяет вам импортировать или экспортировать числовые и денежные данные, отформатированные с использованием международных соглашений по разделению дробной и целой частей. Если вы импортируете данные из систем типа Quattro, 1-2-3, Symphony и dBASE, Paradox будет автоматически импортировать и экспортировать числовые и денежные данные правильно, независимо от того, какие международные соглашения используются.

Однако когда вы импортируете или экспортируете числовые данные из ASCII, pfs или IBM Filing Assistent файла, отформатированного по соглашениям, отличным от принятых в США (например, число 1.234,56), необходимо указать системе символ, который будет служить разделителем целой и дробной части.

Для того, чтобы можно было сделать это, в меню AsciiConvert программы конфигурации (CCP) есть услуга ChooseDecimal. Поскольку запятая "," часто используется как разделитель полей, может произойти конфликт между числовыми разделителями и разделителями полей. Для того, чтобы предотвратить его, вы должны быть уверены, что все импортируемые файлы являются файлами без разделителей.

При экспортировании данных системы Paradox в другие системы предотвратить конфликт можно с помощью услуги Delimiters/Always?/ Allfields. Для получения более подробной информации об импорте ASCII-данных смотрите главу 14.

Экспорт/импорт в сети


При использовании услуги Tools/ExportImport в сети Paradox автоматически блокирует объекты системы Paradox, вовлеченные в операцию.

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

Система Paradox не может блокировать файлы, не относящиеся к ней. Она, однако, проверяет, чтобы никто в сети больше не работал с файлом перед началом операции.

COPY (КОПИРОВАТЬ)


Услуга Copy (копировать) позволяет вам сделать копию таблицы, формы, отчета, графика или семейства таблицы. Копирование - лучший способ изготовления архивных копий информации, чтобы обезопасить себя на случай порчи рабочей копии. Услуга Copy также полезна, когда нужно сравнить таблицы, чтобы выявить изменения, или обменяться объектами с другим пользователем системы Paradox.

После того, как вы выберете услугу Сору из меню Tools, на экране появится меню из типов объектов, которые вы можете копировать.

  • Table (таблица): копировать таблицу и ее семейство, состоящее из форм, отчетов, индексов и других объектов.
  • Form (форма): копировать форму.
  • Report (отчет): копировать отчет.
  • Script (скрипт): копировать скрипт.
  • JustFamily (только семейство): копировать все объекты семейства таблицы, кроме самой таблицы.
  • Graph (график): копировать файл установок графика.

В зависимости от типа выбранного объекта, Paradox выдаст приглашение или меню для имен копируемых объектов. Для скрипта, например, вы получите следующие приглашения:


Script:
Enter name of script to copy, or press {Enter} to see a list of scripts.
(Введите имя скрипта, который вы хотите копировать или нажмите {Enter}, чтобы получить список скриптов.)

Script:
Enter name for the new script.
(Введите имя нового скрипта.)

После того, как вы введете каждое имя, Paradox сделает копию. Если объект с именем, которое вы выбрали для копии, уже существует, потребуется подтвердить копирование или отказаться от него.

Table (таблица)


Услуга Table позволяет копировать таблицу и ее семейство, состоящее из форм, отчетов, индексов и других объектов. Поскольку услуга работает со всем семейством таблицы, она значительно удобнее для копирования всей информации, связанной с таблицей, чем команда DOS copy.

Form (форма)


Услуга Form позволяет копировать формы. Она особенно полезна при создании новой формы, похожей на существующую. Вы можете также использовать ее для копирования формы из одной таблицы в связанную таблицу, подобную answer, если она имеет точно такую же структуру.

После того, как вы выберете услугу Form из меню Tools/Copy, на экране появится подменю, содержащее две услуги, которые позволяют вам указать таблицу, с которой будет связана новая форма:

  • SameTable (та же таблица): копировать форму для той же таблицы.
  • DifferentTable (другая таблица): копировать форму для другой таблицы с совместимой структурой.

При выборе услуги DifferentTable Paradox попросит вас указать исходную таблицу и форму, а также таблицу, для которой копировать, и имя новой формы. Две таблицы для копирования между ними форм должны иметь совместимые структуры.

Report (отчет)


Услуга Report, которая позволяет копировать отчет, особенно полезна, когда нужно создать новый отчет на основе существующего. Вы можете также использовать ее для копирования отчета из одной таблицы в связанную таблицу, подобную answer.

После того, как вы выберете услугу Report из меню Tools/Copy, на экране появится подменю, содержащее две услуги, которые позволяют вам указать таблицу, с которой будет связан новый отчет:

  • SameTable (та же таблица): копировать отчет для той же таблицы.
  • DifferentTable (другая таблица): копировать отчет для другой таблицы с совместимой структурой.

При выборе услуги DifferentTable Paradox попросит вас указать исходную таблицу и отчет, а также таблицу, для которой копировать, и имя нового отчета. Две таблицы для копирования между ними отчетов должны иметь совместимые структуры.

Script (скрипт)


Услуга Script позволяет копировать скрипты. Например, если вы хотите доработать скрипт с помощью команд языка PAL, лучше работать с его копией, сохранив оригинал.

JustFamily (только семейство)


Услуга JustFamily позволяет копировать все объекты, связанные с таблицей, за исключением самой таблицы. Представьте, что вы применили запрос, чтобы выбрать записи из таблицы больших размеров. С помощью услуги JustFamily вы можете присоединить к таблице answer (ответ) все файлы семейства исходной таблицы.

При выборе услуги Tools/Copy/JustFamily должна существовать целевая таблица, которая будет "получать" копии объектов. Имя этой таблицы должно совпадать с именем, которое вы даете копии, а ее структура должна быть идентична структуре исходной таблицы.

Объекты, связанные с исходной таблицей, перезапишут объекты целевой таблицы, которые имеют такие же имена или номера. Остальные объекты семейства целевой таблицы не изменятся.

Graph (график)


Услуга Graph позволяет вам сделать копию файла установок графика. Это бывает полезно, когда вы хотите попробовать другой вариант графика, сохранив существующий.

Копирование объектов в сети


При использовании услуги Tools/Copy в сети Paradox автоматически накладывает блокировку на то, что вы копируете:

  • Когда вы копируете таблицу, Paradox автоматически накладывает блокировку от записи на исходную таблицу и ее семейство, а также полную блокировку на целевую таблицу и ее семейство. Это означает, что другие пользователи:
    • не могут модифицировать структуру и содержание любого объекта из семейства исходной таблицы;
    • не могут работать ни с каким объектом целевого семейства (если оно существует) никаким образом, пока не завершится копирование. Если кто-либо в сети уже начал операцию, требующую наложения полной блокировки или предохраняющей блокировки от записи на любой объект в исходном семействе, или если кто-либо использует каким-либо образом целевую таблицу или ее семейство, вы не сможете делать копирование, пока этот пользователь не закончит работать с перечисленными объектами.
  • Когда вы копируете только семейство, Paradox автоматически

    накладывает блокировку от записи на семейство исходной таблицы и предохраняющую полную блокировку на саму исходную таблицу. Полная блокировка накладывается на целевую таблицу и ее семейство.

  • Когда вы копируете форму, отчет, скрипт или график, Paradox автоматически накладывает блокировку от записи на исходный объект и полную блокировку на целевые объекты. Это означает, что другие пользователи:
    • не могут модифицировать исходный объект;
    • не могут работать с целевым объектом (если он уже существует) никаким образом

до тех пор, пока копирование не завершится. Если кто-либо в сети уже начал операцию, требующую наложения полной или предохраняющей блокировки от записи на исходный объект, или если кто-либо использует каким-либо образом целевой объект, вы не сможете делать копирование, пока этот пользователь не закончит работать с перечисленными объектами.

Если объектом является форма или отчет, Paradox также накладывает предохраняющую полную блокировку на таблицу. Это означает, что другие пользователи не могут выполнить любую операцию, требующую полной блокировки (такую, как изменение структуры таблицы) до тех пор, пока копирование не завершится. Если кто-либо в сети уже начал операцию, требующую наложения полной блокировки на таблицу, вы не сможете делать копирование, пока этот пользователь не закончит работать с таблицей.

DELETE (УДАЛИТЬ)


Услуга Delete (удалить) позволяет удалить с диска таблицу, форму, отчет, график, скрипт, индекс ускорения запросов, или файл установок проверок правильности. Используйте услугу Delete, чтобы удалить объекты, которые вам больше не нужны.

После того, как вы выберете услугу Delete из меню Tools, на экране появится меню из типов объектов, которые можно удалить:

  • Table (таблица): удалить таблицу и ее семейство, состоящее из отчетов, форм, индексов и других объектов.
  • Form (форма): удалить форму.
  • Report (отчет): удалить отчет.
  • Script (скрипт): удалить скрипт.
  • QuerySpeedup (файл ускорения запроса): удалить все файлы ускорения выполнения запроса (вторичные индексы) для данной таблицы.
  • KeepSet (установки образа): удалить файл установок образа.
  • ValCheck (проверки правильности): удалить файл установок проверки правильности данных для таблицы.
  • Graph (график): удалить файл установок графика.

ПРЕДУПРЕЖДЕНИЕ. Будьте осторожны при удалении объектов. После удаления их нельзя восстановить. Будьте особенно осторожны при удалении таблиц (поскольку вместе с таблицей будет удалено ее семейство) и файлов ускорения запросов (поскольку будут удалены все вторичные индексы). Перед удалением, возможно, следует сделать дополнительную архивную копию.

В зависимости от типа объекта, который вы выбрали, Paradox выдаст приглашение или меню для имени удаляемого объекта. Для отчета, например, он сначала попросит указать имя соответствующей таблицы:


Table:
Enter name of table with report to delete, or press {Enter} for a list of tables.
(Введите имя таблицы, для которой вы хотите удалить отчет, или нажмите {Enter}, чтобы получить список таблиц.)

После того, как вы наберете имя таблицы или выберете его из меню, на экране появится меню, содержащее имена отчетов для этой таблицы:


*R 3 6 7
Standard Report. (Стандартный отчет.)

До того, как удалить объект или семейство объектов, Paradox попросит подтвердить, что вы действительно хотите его удалить:


*Cancel OK
Do not delete report. (Не удалять отчет.)
  • Cancel (прервать): отказаться от удаления объекта.
  • OK (подтвердить): подтвердить удаление объекта.

Удаление объектов в сети


При использовании услуги Tools/Delete в сети Paradox автоматически накладывает блокировку на то, что вы удаляете:

  • Когда вы удаляете таблицу, Paradox автоматически накладывает полную блокировку на таблицу и ее семейство. Это означает, что другие пользователи не могут работать с ней во время удаления. (И, конечно, не смогут работать с ней после удаления.) Если кто-либо в сети уже начал работать с таблицей или ее семейством, вы не сможете удалить таблицу, пока этот пользователь не закончит работать с ней.
  • Когда вы удаляете форму, отчет, скрипт или график, Paradox автоматически накладывает полную блокировку на объект. Это означает, что другие пользователи не могут работать с объектом во время удаления. Если кто-либо в сети уже начал работать с объектом, вы не сможете удалить его, пока этот пользователь не закончит с ним работать.

Если объектом является форма или отчет, Paradox также накладывает предохраняющую полную блокировку на таблицу. Это означает, что другие пользователи не могут выполнить любую операцию, требующую полной блокировки (такую, как изменение структуры таблицы) до тех пор, пока удаление не завершится. Если кто-либо в сети уже начал операцию, требующую наложения полной блокировки на таблицу, вы не сможете удалить объект, пока этот пользователь не закончит работать с таблицей.

  • Когда вы удаляете файлы установок образа или ускорения запроса (вторичных индексов), Paradox автоматически накладывает полную блокировку и на объект и таблицу. Это означает, что другие пользователи не могут работать с объектом во время удаления. Если кто-либо в сети уже начал каким-либо образом работать с объектом или таблицей, вы не сможете удалить его, пока этот пользователь не закончит с ним работать.

INFO (ИНФОРМАЦИЯ)


Услуга Info (информация) позволяет получить информацию о таблицах, формах, отчетах, скриптах и файлах. Вы можете использовать ее, чтобы определить, какие объекты находятся в вашей базе данных и какова структура ваших таблиц.

Например, с помощью услуги Info/Inventory можно получить список объектов, чтобы определить, какие из них нужно удалить. Вы можете также использовать эту услугу как подсистему управления файлами для создания каталогов всех файлов на дисках без выхода в DOS.

После того, как вы выберете услугу Info из меню Tools, Paradox попросит указать, какого рода информация вам нужна:

  • Structure (структура): показать структуру таблицы.
  • Inventory (содержимое): показать таблицы, скрипты или файлы на диске.
  • Family (семейство): показать список форм, отчетов и другие объектов, связанных с таблицей.
  • Who (кто): показать список имен пользователей, использующих Paradox в сети.
  • Lock (блокировка): показать список блокировок, наложенных в настоящее время на таблицу.

Structure (структура)


Услуга Structure (структура) позволяет просмотреть структуру таблицы. Она бывает полезна, когда вам нужно вспомнить структуру таблицы, которую вы хотите перенесте в структуру другой, или когда вы хотите поэкспериментировать со структурой таблицы, не меняя ее.

После того, как вы выберете услугу Structure из меню Tools/ Info, Paradox попросит указать, какую таблицу нужно просмотреть:


Table:
Enter name of table whose structure to show, or press {Enter} for a list of tables.
(Введите имя таблицы, структуру которой нужно показать, или нажмите {Enter}, чтобы получить список таблиц.)

После того, как вы наберете имя таблицы или выберете его из меню, Paradox выдаст на экран структуру таблицы, помещенную во временную таблицу struct. Окно сообщений покажет число записей в таблице.

Вы можете редактировать таблицу struct и вообще работать с ней, как с обычной таблицей. Однако если вы редактируете или удаляете таблицу struct, это не окажет никакого влияния на оригинал. Если вы захотите, то можете использовать услуги Modify/Re- structure и Tools/Delete для изменения структуры или удаления таблицы.

Поскольку struct - временная таблица, ее нужно переименовать, если вы хотите сохранить ее на диске.

Ниже приведен пример таблицы struct.

STRUCT-- -------- Field Name -------- ------ Field Type ------

    1   | Cust ID                    | N*                     |
    2   | Last Name                  | A15                    |
    3   | Street                     | A20                    |
    4   | City                       | A15                    |
    5   | State                      | A2                     |
    6   | Credit                    | $                     |
                                                                имена полей               типы полей

Inventory (содержимое)


Услуга Inventory позволяет быстро получить список таблиц, скриптов или файлов, хранящихся в любом каталоге на вашем компьютере. Например, вы можете просмотреть их с тем, чтобы выяснить, какие из них больше не нужны и могут быть удалены.

Поскольку услуга Inventory работает с любыми файлами, а не только с файлами системы Paradox, ее можно использовать для получения каталога и управления всеми файлами в компьютере.

После того, как вы выберете услугу Inventory из меню Tools/ Info, на экране появится подменю, содержащее типы файлов, которые вы можете посмотреть:


*Tables Scripts Files
List tables.
(Посмотреть список таблиц.)
  • Tables (таблицы): посмотреть список таблиц на диске или в каталоге.
  • Scripts (скрипты): посмотреть список скриптов на диске или в каталоге.
  • Files (файлы): посмотреть список всех или выбранных файлов на диске или в каталоге.

Дальнейшие действия системы Paradox, рассматриваемые ниже, зависят от типа выбранного файла. Независимо от типа объекта, выбранного вами, имена таблиц, скриптов или файлов будут помещены во временную таблицу с именем list. Кроме имени файла таблица содержит дату его последнего изменения. Вы можете делать запросы к этой таблице, редактировать ее, то есть работать с таблицей list как с обычной таблицей системы Paradox. Однако чтобы сохранить на диске, таблицу нужно переименовать.

              Tables (таблицы) и Scripts (скрипты)
              ------------------------------------

После того, как вы выберете услугу Tables или Scripts из меню Info/Inventory, Paradox попросит указать имя каталога:


Directory:
Enter directory for list of tables or press {Enter} for current directory.
(Введите имя требуемого каталога, в котором находятся таблицы, или нажмите {Enter}, чтобы выбрать текущий каталог.)

Если таблицы или скрипты, которые нужно посмотреть, находятся на текущем дисководе в текущем каталоге, просто нажмите {Enter}. В противном случае, введите имена дисковода и каталога. Например, b: или c:mktg.

Если вы работаете в сети, Paradox автоматически включит временные таблицы (хранимые в личном каталоге) в список таблиц вашего текущего каталога. Более подробно об этом смотрите в описании услуги Net/SetPrivate позднее в этой главе.

                          Files (файлы)
                          -------------

После того, как вы выбререте услугу Files из меню Info/In- ventory, Paradox попросит указать шаблон для имени файла:


Pattern:
Enter DOS directory pattern (e.g. *.* for all files in current directory).
(Введите образец имени файла (например, *.* для всех файлов текущего каталога).)

Введите шаблон для имен файлов, список которых вы хотите посмотреть (аналогично команде dir). Вы можете указать перед именем файла имя дисковода и/или каталога. Например, чтобы посмотреть все файлы с расширением .TXT в каталоге mktgcorresp на дисководе С, наберите c:mktgcorresp*.txt, а чтобы посмотреть все файлы в текущем каталоге, наберите *.*.

Услуга Info/Inventory дает вам возможность - не обеспечиваемую DOS - разработать эффективную систему управления файлами. Например, каждую неделю вы можете сохранять таблицу list для файлов в каждом каталоге, а затем выполнять запрос для получения отчета, какие файлы были обновлены за прошедшую неделю.

Ниже приведен пример таблицы list.

LIST-- -------- Name -------- ------ Date ------

    1   | Customer             | 4/29/88          |
    2   | Districte            | 4/28/88          |
    3   | Empcopy              | 4/28/88          |
    4   | Employee             | 4/27/88          |
    5   | Orders               | 5/19/87          |
    6   | Products            | 4/28/88         |
                                                                имена файлов       дата последней
                                                модификации

Family (семейство)


Услуга Family позволяет посмотреть отчеты, формы и другие объекты, связанные с таблицей системы Paradox. Такой список вам может понадобиться, например, для того, чтобы определить, какие формы и отчеты вам больше не нужны.

После того, как вы выберете услугу Family из меню Tools/ Info, Paradox попросит указать имя таблицы, семейство которой вы хотите посмотреть:


Table:
Enter name of table to list its family, or press {Enter} for a list of tables.
(Введите имя таблицы, для которой нужно посмотреть семейство объектов или нажмите {Enter}, чтобы получить список таблиц.)

Наберите имя таблицы или выберите его из меню. Имена объектов и даты, когда они были изменены в последний раз, появятся во временной таблице с именем family. Чтобы сохранить информацию в таблице family, нужно переименовать ее.

Ниже приведен пример таблицы family.

              FAMILY-- -------- Name -------- ------ Date ------
таблица   -----   1   | Customer             | 4/29/88          |
файл установок-   2   | Settings SET         | 4/29/88          |
формы  --------   3   | Form F               | 4/29/88          |
          -----   4   | Form F1              | 4/29/88          |
отчеты --------   5   | Report R1            | 4/29/88          |
          -----   6   | Report R2            | 4/29/88          |

Who (кто)


Услуга Who (кто) позволяет получить список пользователей, работающих в настоящий момент в сети с системой Paradox. Она бывает полезна, например, когда вы хотите наложить блокировку на объект и хотите найти того, кто вам может помешать.

После того, как вы выберете услугу Who из меню Tools/Info, имена пользователей появятся во временной таблице с именем list. Чтобы сохранить информацию в таблице list, нужно переименовать ее.

Пользовательские имена основываются на данных, введенных пользователями с помощью услуги Tools/Net/UserName (описывается позднее в этой главе), или читаются прямо из сети.

Ниже приведен пример таблицы list.

LIST-- ------- Users --------

         1   | Bill                 |
         2   | James                |
         3   | Dick                |
                                              имена пользователей

Lock (блокировка)


При работе в сети услуга Lock позволяет получить список блокировок, наложенных на таблицу и ее семейство, а также имена тех, кто их наложил. Это бывает полезно, когда вам для выполнения какой-то операции требуется снять какие-либо блокировки.

После того, как вы выберете услугу Lock из меню Tools/Info, Paradox попросит вас ввести имя таблицы, блокировки которой вы хотите увидеть:


Table:
Enter name of table, or press {Enter} for a list of tables. (Введите имя таблицы или нажмите {Enter}, чтобы получить список таблиц.)

Введите имя таблицы или выберите его из меню. Вы увидите временную таблицу lock, которая содержит для каждой блокировки: имя файла (объекта), имя пользователя, наложившего блокировку, и тип блокировки. Вы можете переименовать эту таблицу, если хотите сохранить информацию по какой-либо причине.

Пользовательские имена основываются на данных, введенных пользователями с помощью услуги Tools/Net/UserName (описывается позднее в этой главе), или читаются прямо из сети.

Если выбранная вами таблица находится не в разделяемом каталоге, вы увидите вместо таблицы list сообщение "File is not sha- red" (Файл не является разделяемым).

Ниже приведен пример таблицы list.

LIST-- --- FileName ---- --- UserName --- ----- LockType -----

  1   | Music.db        |  Tom           | Prevent Full Lock  |
  2   | Music.db        |  Bill          | Prevent Full Lock  |
  3   | Music.db       |  Janet        | Write Lock         |
                                                                        имя файла      имена               типы
                                  пользователей       блокировок

Получение информации в сети


При использовании услуги Tools/Info в сети, блокировки, накладываемые автоматически системой Paradox, зависят от выбранного вами вида информации:

  • Если вы хотите просмотреть структуру таблицы, Paradox автоматически накладывает на таблицу предохраняющую полную блокировку. Это означает, что другие пользователи не могут выполнять любые операции, требующие полной блокировки (напри- мер, изменение структуры таблицы), пока структура просматривается. Если кто-либо в сети уже начал выполнять такую операцию, вы не сможете просмотреть структуру, пока этот пользователь не закончит.
  • Если вы хотите просмотреть семейство таблицы, Paradox автоматически накладывает на таблицу и ее семейство блокировку от записи. Это означает, что другие пользователи не могут изменять содержание или структуру любого объекта семейства когда идет просмотр семейства. Если кто-либо в сети уже начал выполнять операцию, требующую наложения полной или предохраняющей блокировки от записи на любой из этих объектов, вы не сможете просмотреть семейство, пока этот пользователь не закончит.

Получение информации других видов никак не повлияет на работу других пользователей.

NET (СЕТЬ)


При работе с сети Paradox автоматически управляет разделяемыми ресурсами. Механизм автоматических блокировок призван обеспечить:

  • Максимальное совместное использование разделяемых объектов - обеспечение возможности нескольким пользователям одновременно работать с одной и той же таблицей: просматривать, выдавать отчеты, выполнять запросы, редактировать и вводить данные.
  • Согласованность данных - обеспечение того, чтобы все пользователи просматривали только одну, правильную версию каждой таблицы.
  • Целостность данных - сохранность данных от искажений и порчи, когда двое и больше пользователей одновременно работают с одной таблицей.

Поскольку система Paradox применяет автоматические блокировки ко всем операциям, вы можете использовать ее в сети точно таким же образом, как и при работе с ней автономно на вашем компьютере. Вам так же не нужно беспокоиться о том, что делают другие пользователи, вы зачастую не будете замечать их работы вовсе. Исключение могут составить случаи, когда другие пользователи совместно с вами используют одну и ту же таблицу и вносят в нее изменения, а также когда вы обнаруживаете, что кто-то из них заблокировал требуемый вам объект.

Однако, вместе с тем, вы можете в любой момент времени с помощью услуг меню Tools/Net явно контролировать то, как система Paradox управляет разделяемыми ресурсами.

При выборе услуги Net (сеть) из меню Tools вы увидите подменю, содержащее еще пять услуг:

  • Lock (блокировка): явно наложить на таблицу (снять с таблицы) полную блокировку или блокировку от записи.
  • PreventLock (предохраняющая блокировка): явно наложить на таблицу (снять с таблицы) предохраняющую полную блокировку или предохраняющую блокировку от записи.
  • SetPrivate (установить личный каталог): изменить местоположение личного каталога.
  • UserName (пользовательское имя): установить или изменить ваше пользовательское имя при работе в сети.
  • AutoRefresh (автообновление): изменить интервал времени, через который на экране отображаются изменения, внесенные другими пользователями в таблицу, с которой вы работаете.

Все эти понятия рассмотрены в разделе "Использование системы Paradox в сети" в главе 2.

Lock (блокировка) и PreventLock (предохраняющая блокировка)


Paradox по мере необходимости автоматически блокирует таблицы, формы, отчеты и другие объекты, чтобы поддержать целостность и согласованность данных. Блокировки временно ограничивают доступ других пользователей к таблице, форме или отчету, пока вы используете их. Paradox всегда обеспечивает максимальную согласованность совместного доступа, предохраняющую данные от искажения и потери. В таблице 2-5 в главе 2 показаны блокировки, накладываемые автоматически при выполнении каждой операции.

В добавление к автоматической блокировке вы имеете возможность явно блокировать и освобождать таблицы, с которыми вы работаете. Ниже в убывающем порядке по строгости ограничения перечислены виды блокировок:

  • Полная блокировка. Дает вам полный доступ к таблице или другому объекту, полностью предотвращая доступ всех других пользователей к тому же объекту по любой причине. То есть полная блокировка совершенно исключает совместный доступ к заблокированному объекту.
  • Блокировка от записи. Позволяет другим пользователям иметь доступ к используемой вами таблице или другому объекту, но не позволяет им изменять его структуру или содержимое.
  • Предохраняющая блокировка от записи. Предохраняет объект от накладывания на него другим пользователем полной блокировки или блокировки от записи. Эта блокировка гарантирует, что другие пользователи не помешают вам выполнять операции, требующие модификации объекта.
  • Предохраняющая полная блокировка. Предохраняет объект от накладывания на него другим пользователем полной блокировки. Эта блокировка обеспечивает максимальный уровень совместного использования объекта. Другие пользователи могут выполнять операции, которые требуют наложения любого типа блокировки, кроме полной.

Третья и четвертая блокировки, таким образом, ограничивают возможность наложения первых двух.

В отличие от автоматических блокировок, явные блокировки действуют до тех пор, пока вы их явно не отмените или не выйдите из системы Paradox. Кроме того, таблица не обязательно должна находиться в рабочем поле или использоваться вами каким-либо образом, чтобы вы могли наложить на нее блокировку. В остальном разницы между автоматическими и явными блокировками не существует. Вы не сможете наложить явную блокировку на объект, если на него уже наложена явная или автоматическая блокировка, которая исключает данную. Совместимые типы блокировок показаны в таблице 2-4.

Вы можете отменить только ту блокировку, которую наложили сами.

               Когда накладывать явные блокировки
               ----------------------------------

Вы можете использовать явную блокировку в случаях, когда вы знаете, что она необходима, и хотите быть уверенными в ее осуществлении.

  • Предположим, например, что вы хотите ввести новые записи в таблицу customer. Когда вы начинаете операцию выбором услуги Modify/DataEntry, Paradox накладывает на customer предохраняющую полную блокировку. Это не позволяет другим пользователям изменять структуру таблицы в то время, когда вы вводите данные. Затем, когда вы нажимаете {F2} (выполнить) для включения новых записей в таблицу, Paradox наложит на таблицу предохраняющую блокировку от записи.

Но, предположим, другой пользователь наложил блокировку от записи на таблицу customer, пока вы вводите данные. В этом случае при нажатии клавиши {F2} (выполнить) Paradox не сможет наложить на таблицу предохраняющую блокировку от записи, чтобы завершить операцию. В этом случае вам нужно либо использовать услугу KeepEntry (см. главу 7), либо ждать, пока блокировка сможет быть наложена.

Если вы предвидете возможность такой ситуации, вы можете явно наложить предохраняющую блокировку от записи на таблицу customer перед тем, как начать ввод данных. Это гарантирует то, что таблица будет доступна для вас, когда вы решите завершить операцию ввода данных.

  • Или, предположим, вы знаете, что вам будет необходимо распечатать отчет прямо перед важным заседанием. Поскольку выполнение операции Report/Output требует предохраняющей полной блокировки таблицы, вы можете наложить эту блокировку явно за несколько минут до того, как она вам действительно потребуется, чтобы не дать никому помешать вам точно вовремя распечатать отчет.

Поскольку автоматические блокировки системы Paradox в основном всегда предоставляют вам требуемые ресурсы, максимизируя в то же время совместный доступ, мы не рекомендуем вам накладывать явные блокировки часто и безоглядно. Их всегда лучше приберечь для тех ситуаций, где вы по собственному опыту точно знаете, что вам будет необходим тот или иной уровень доступа в таблице и когда именно. Руководствуйтесь всегда следующими основными правилами:

  • При использовании системы Paradox в интерактивном режиме вы должны применять явные блокировки осторожно, поскольку они могут ограничить доступ другим пользователям к объектам, когда это не является необходимым.
  • По окончании работы с объектом, который вы явно заблокировали, всегда немедленно снимите блокировку.

Вы должны особенно осторожно накладывать полную блокировку. Делайте это в действительно чрезвычайных условиях. Если вы забудете снять полную блокировку, никто больше не сможет использовать таблицу, пока вы вспомните или не выйдите из системы.

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

Это справедливо как для автоматических, так и для явных блокировок.

           Как накладывать и снимать явные блокировки
           ------------------------------------------

Способ наложения и снятия явных блокировок зависит от того, какой тип блокировки вы хотите использовать.

  1. Для того, чтобы наложить на таблицу или снять с нее полную блокировку или блокировку от записи, выберите услугу Tools/Lock. Появившееся на экране меню покажет типы блокировок, которые вы можете использовать:
    • FullLock (полная блокировка): наложить на таблицу или снять с нее полную блокировку.
    • WriteLock (блокировка от записи): наложить на таблицу или снять с нее блокировку от записи.
  2. Для того, чтобы наложить на таблицу или снять с нее предох

    раняющую полную блокировку или предохраняющую блокировку от записи, выберите услугу Tools/PreventLock. Появившееся на экране меню покажет типы блокировок, которые вы можете использовать:

    • FullLock (полная блокировка): наложить на таблицу или снять с нее предохраняющую полную блокировку.
    • WriteLock (блокировка от записи): наложить на таблицу или снять с нее предохраняющую блокировку от записи.

После того, как вы выбрали тип нужной вам блокировки, остальной процесс остается прежним. Paradox запрашивает имя блокируемой таблицы:


Table:
Enter name of table, or press {Enter} for a list of tables. (Введите имя таблицы или нажмите {Enter}, чтобы получить список таблиц.)

Наберите имя таблицы или нажмите {Enter}, чтобы выбрать таблицу из меню. В конце концов Paradox спросит у вас, хотите вы наложить блокировку или снять ее:


*Set Clear
Place the lock on the table.
(Наложить блокировку на таблицу.)
  • Set (наложить): наложить выбранную вами блокировку.
  • Clear (снять): снять выбранную вами блокировку.

Точный вид меню и приглашений сильно зависит от того, какой тип блокировки вы выбрали. После того, как вы выберете Set или Clear, Paradox попытается наложить или снять указанную вами блокировку. Сообщение скажет вам, насколько успешной была эта попытка.

Не забудьте снять явную блокировку после того, как вы закончите работать с таблицей.

                       Еще о блокировании
                       ------------------

Каждая разделяемая таблица может иметь фактически неограниченное число автоматических и явных блокировок, наложенных на нее, при условии, что все они являются совместимыми. Совместимые типы блокировок показаны в таблице 2-4. Для того, чтобы получить доступ к таблице с целью выполнения определенной операции, необходимо, чтобы с таблицы были сняты все блокировки, исключающие выполнение данной операции.

Вы можете использовать услугу Tools/Info/Lock для того, чтобы посмотреть, какие именно блокировки наложены на таблицу в текущий момент времени.

SetPrivate (установить личный каталог)


Когда вы используете Paradox в сети, ваш рабочий каталог обычно является сетевым каталогом, в котором хранятся разделяемые таблицы и другие объекты. Каждый пользователь системы Paradox в сети должен также иметь личный каталог, в котором хранятся временные объекты.

Ваш личный каталог выполняет две функции:

  • Хранит временные таблицы и другие временные объекты системы Paradox.
  • Хранит невременные объекты, к которым не должны иметь доступ другие пользователи сети.

Когда вы работаете в сети, все временные объекты, генерируемые системой Paradox (например, таблица answer), будут помещены в ваш личный каталог. Это предохраняет их от перезаписывания временными объектами других пользователей.

| Хотя временные объекты фактически хранятся в вашем личном | каталоге, при работе с системой Paradox создается впечатле | ние, что они находятся в текущем рабочем каталоге.

Большую часть времени вы даже не подозреваете, что ваш личный каталог используется. На уровне использования системы Paradox все временные объекты, помещаемые в ваш личный каталог, будут появляться в списке объектов рабочего каталога. Конечно, на уровне DOS такая маскировка не действует.

Предположим, например, что ваш текущий рабочий каталог в сети - f:gifts, а ваш личный каталог - c:paradox3. Если вы делаете запрос к таблице customer, временная таблица answer будет помещена в личный каталог, однако ее имя при работе с ситемой Paradox вы увидите в списке объектов рабочего каталога.

Вы можете проверить это с помощью услуги Tools/Info/Invento- ry/Tables для текущего каталога. Вы увидите, что таблица answer будет включена в список таблиц каталога f:gifts. Однако файл ANSWER.DB не будет включен в список файлов DOS, получаемый при выборе услуги Tools/Info/Inventory/Files для текущего каталога.

Ваш личный каталог предоставляет также возможность обеспечения исключительного использования всех таблиц и других объектов, хранящихся в нем. Существует несколько причин, по которым вам вам может потребоваться хранить в личном каталоге невременные объекты. Среди них:

  • Безопасность и ограничение доступа. Никто из других пользователей не может получить доступа к объектам в вашем личном каталоге.
  • Эффективность. Поскольку вы один можете пользоваться объектами в вашем личном каталоге, Paradox не будет блокировать их, когда вы будете пользоваться ими.
                     Выбор личного каталога
                     ----------------------

Как и большинство многопользовательских возможностей системы Paradox, вы можете либо сами явно назначить личный каталог, либо Paradox сделает это автоматически. В большинстве случаев более предпочтительным является явное назначение. Во многих сетевых инсталяциях за установку всех личных каталогов ответственным является администратор сети. В тех инсталяциях, где каждый самостоятельно устанавливает свой личный каталог, существует два способа сделать это:

  • Использование программы конфигурации (CCP). Вы можете использовать CCP для назначения каталога, который будет устанавливаться в качестве личного при каждом запуске системы Paradox (более подробно об использовании CCP в этих целях см. главу 14).
  • Использование услуги Tools/Net/SetPrivate для назначения или изменения личного каталога во время сеанса работы с системой Paradox. При изменении личного каталога рабочее поле будет очищено, а все временные объекты - уничтожены!

Как правило, всегда (в зависимости от типа компьютера или рабочей станции) существует единственное самое предпочтительное место для размещения личного каталога.

  • Если ваша рабочая станция имеет жесткий диск, то всегда предпочтительнее разместить личный каталог на нем.
  • Если у вас нет своих дисководов, личный каталог должен быть размещен в сети. Он будет для вас как бы "домашним" каталогом в сети.

Помните, что другие пользователи не будут иметь доступа к вашему личному каталогу. Поэтому вы не должны в качестве личного каталога назначать сетевой, пока не убедитесь, что он не содержит необходимых другим пользователям таблиц, скриптов и других объектов.

  • Установка вашего личного каталога

Для того, чтобы назначить или изменить личный каталог, выберите услугу SetPrivate из меню Tools/Net. Paradox попросит вас указать, какой каталог вы хотите использовать в качестве личного. Если вы уже назначали личный каталог (посредством CCP или меню Tools/Net), то он будет выдан на месте имени:


Directory:
Enter new private directory, include drive and full path. (Введите новый личный каталог, включая дисковод и путь доступа.)

Введите полное имя личного каталога и нажмите {Enter}. Вы не сможете назначить каталог личным, если это сделал кто-то до вас или если кто-то использует таблицы, скрипты или другие объекты, размещенные в нем.

Если вы изменяете рабочий каталог, Paradox очистит рабочее поле и уничтожит все временные объекты в прежнем личном каталоге. Поэтому перед сменой рабочего каталога Paradox просит подтверждение на выполнение этой операции:


*Cancel OK
Do not change private directory.
(Не изменять рабочий каталог.)
  • Cancel (прервать): не изменять рабочий каталог, оставить прежним состояние рабочего поля и не уничтожать временные таблицы.
  • OK (подтвердить): подтвердить смену рабочего каталога, чистку рабочего поля и уничтожение временных таблиц.

При выборе OK появится сообщение о переназначении рабочего каталога.

           Автоматическое назначение личного каталога
           ------------------------------------------

Если вы не установили личный каталог сами (посредством программы конфигурации или услуги SetPrivate), Paradox автоматически выберет для вас личный каталог. Он сделает это и в том случае, если по каким-либо причинам не сможет быть назначен личным каталог, явно выбранный вами. Paradox пользуется следующими правилами для решения, где разместить личный каталог:

  • Если ваша рабочая станция имеет жесткий диск (диск C), Paradox назначит связанный с DOS каталог на диске C в качестве личного.
  • Если ваш компьютер или рабочая станция не имеет жесткого диска, Paradox попытается назначить сетевой каталог, к которому вы привязывались при запуске системы Paradox, в качестве вашего личного.

Если вы не имеете локального жесткого диска и не использовали CCP для установки файла PARADOX3.CFG, который бы явно назначал ваш личный каталог, вы не сможете запустить Paradox из разделяемого "только читаемого" каталога, содержащего файлы системы Paradox, или из каталога, который содержит объекты, используемые другими пользователями. В этом случае вы увидите сообщение "Can't start Paradox: can't get private directory" (Невозможно запустить систему Paradox: не устанавливается личный каталог).

Вам нужно сменить каталог на тот, с которым не работают другие пользователи, и запустить систему из него. Для того, чтобы сделать это, необходимо убедиться, что каталог, содержащий файлы системы Paradox, указан в вашем пути доступа (path).

UserName (пользовательское имя)


Когда вы не получаете разрешения на доступ к заблокированному объекту, Paradox сообщает вам имя пользователя, заблокировавшего его. Это позволяет вам запросить доступ прямо у этого пользователя.

Для этого Paradox пытается идентифицировать каждого пользователя сети с помощью имени. В сетях, которые поддерживают пользовательские имена (например, Novell и 3Com), Paradox использует сетевые операционные системы для идентификации пользователей, поэтому вам не обязательно вводить имя самому. Однако если ваша сеть не поддерживает пользовательские имена, или если вы предпочитаете использовать свое, вы можете использовать услугу Tools/Net/UserName для назначения имени во время сеанса работы с системой Paradox. Имя, введенное вами, перезапишет любое имя, прочитанное из сети.

Вы можете также использовать программу конфигурации (CCP) для назначения пользовательского имени, используемого по умолчанию, которое будет устанавливаться при каждом запуске системы Paradox. Более подробно об этом смотрите главу 14. Опять же вы можете использовать услугу Tools/Net/UserName, чтобы переписать его.

Для того, чтобы назначить или изменить пользовательское имя, выберите услугу UserName из меню Tools/Net. Paradox попросит вас указать, какое имя вы хотите использовать; ваше текущее имя (если оно уже существует) будет выдано на месте имени:


Name:
Enter new user name.
(Введите новое пользовательское имя.)

Введите имя (длиной до 15 символов) и нажмите {Enter}. Вы можете назначить любое имя, идентифицирующее вас в сети.

Перед тем, как изменить ваше пользовательское имя, Paradox просит подтверждение на выполнение этой операции:


*Cancel OK
Do not change user name.
(Не изменять пользовательское имя.)
  • Cancel (прервать): не изменять текущее имя.
  • OK (подтвердить): подтвердить смену пользовательского имени.

При выборе OK появится сообщение о переназначении пользовательского имени. Это имя перепишет любое другое имя, использовавшееся на вашем компьютере (рабочей станции) до этого.

AutoRefresh (автообновление)


Когда вы работаете с таблицей, которую используют и другие, изменения, вносимые другими пользователями, не могут немедленно отображаться на вашем экране. Это происходит только при обновлении экрана. Paradox поддерживает три способа обновления вашего образа таблицы, чтобы он содержал наиболее актуальную информацию.

  • Вы можете использовать клавиши {Alt}{R} (обновить) для обновления содержимого образа на экране в любое время.
  • По умолчанию, Paradox обновляет экран каждые три секунды, если за это время произошли какие-либо изменения. Используя услугу Tools/Net/AutoRefresh, вы можете изменить интервал, через который система Paradox автоматически обновляет ваш экран во время текущего сеанса.

Кроме того, вы можете использовать программу конфигурации (CCP) для замены интервала, используемого по умолчанию. Более подробно об этом смотрите в главе 14.

  • Автоматическое обновление по необходимости. Если даже вы установили интервал автоматического обновления, Paradox будет обновлять ваш экран "по необходимости". Предположим, что вы совместно редактируете таблицу orders и начинаете изменять запись, которую уже модифицировал другой пользователь. Перед тем, как позволить вам сделать изменения, Paradox автоматически обновит ваш образ таблицы orders, чтобы вы могли видеть текущее состояние записи.

Какой способ обновления вам выбрать, зависит от вида и способа вашей работы с системой Paradox. Некоторым пользователям не нравится, когда экран периодически обновляется - это их утомляет. Они предпочитают обновление по мере необходимости. Вы даже можете совсем отменить автообновление, оставив бланк задания интервала пустым. Другие, наоборот, желают видеть сделанные другими пользователями изменения как можно быстрее. В любом случае вы всегда можете явно потребовать обновление экрана с помощью клавиши {Alt}{R}.

Для того, чтобы изменить интервал автообновления, выберите услугу AutoRefresh из меню Tools/Net. Paradox попросит вас указать интервал автообновления в секундах:


Interval: 3
Enter refresh interval in seconds or leave blank to enable. (Введите интервал автообновления или оставьте бланк пустым, чтобы отменить его.)

Вы можете указать любой интервал времени от 1 до 3600 секунд (одного часа). Оставление бланка интервала пустым отменяет действия автоматического обновления. После нажатия клавиши {Enter} сообщение покажет новый интервал автообновления. Это введенное значение перезапишет любое значение, введенное до этого или установленное посредством CCP.

MORE (ДОПОЛНИТЕЛЬНЫЕ СРЕДСТВА)


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

После того, как вы выберете услугу More, на экране появится меню, содержащее восемь пунктов:

  • Add (добавить): добавить записи из одной таблицы в другую.
  • MultiAdd (мультидобавление): добавить записи из одной таблицы в две или более таблиц.
  • FormAdd (добавление через форму): добавить записи в таблицу через многотабличную форму.
  • Subtract (вычесть): удалить из таблицы записи, которые есть в другой таблице.
  • Empty (очистить): удалить все записи из таблицы.
  • Protect (защитить): установить пароль или защиту от записи для таблицы или скрипта, или убрать защиту.
  • Directory (каталог): изменить рабочий каталог.
  • ToDOS (в DOS): временно выйти в DOS.

Add (добавить)


Услуга Add (добавить) позволяет добавлять записи из одной таблицы в другую, не набирая их заново. Например, вам может потребоваться соединить вместе три таблицы поступлений по месяцам - january (январь), february (февраль) и march (март) - в одну таблицу с именем quarter1 (квартал 1) или соединить несколько списков адресов.

После того, как вы выбрали услугу Add из меню Tools/More, Paradox попросит указать имена исходной и целевой таблиц:


Source table:
Enter name of table with records to add, or press {Enter} for a list of tables.
(Введите имя таблицы, откуда будут добавляться записи или нажмите {Enter}, чтобы получить список таблиц.)

Target table:
Enter name of table to add records to, or press {Enter} for a list of tables
(Введите имя таблицы, куда будут добавляться записи или нажмите {Enter}, чтобы получить список таблиц.)

Эти две таблицы должны иметь совместимые (не обязательно идентичные) типы полей, расположенных в том же порядке. Это означает, что:

  • любой вид числового (N, $ или S) поля может быть добавлен к другому;
  • алфавитно-цифровое (A) поле любой длины может быть добавлено к другому;
  • поле даты (D) может быть добавлено только к полю даты.

Если длинное поле типа A добавляется к короткому, все не помещающиеся символы будут обрезаны. Вы можете решить эту проблему, увеличив короткое поле с помощью услуги Modify/Restructure перед добавлением записей.

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

Отметим, что услуга Tools/More/Add не изменяет исходную таблицу никаким образом. Вне зависимости от того, имеет она ключевые поля или нет.

Добавление записей в таблицу, имеющую ключевые поля


Если целевая таблица содержит ключевые поля, вы увидите на экране подменю, содержащее две услуги:
  • NewEntries (новые данные): добавить записи из исходной таблицы к целевой таблице, не изменяя существующих записей в целевой таблице (аналогично вводу данных).
  • Update (изменить): использовать записи исходной таблицы для обновления существующих записей в целевой таблице.
    • NewEntries (новые данные)

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

  • Update (изменить)

Если вы выбрали услугу Update, записи в исходной таблице будут использованы, чтобы заменить существующие записи в целевой таблице. Вставляемые записи будут отсортированы по значению ключевого поля.

Если Paradox обнаружит в исходной таблице запись со значением ключа, которое имеется у некоторой записи целевой таблицы, то запись целевой (!) таблицы будет помещена во временную таблицу changed, а вместо нее будет вставлена запись из исходной таблицы. Это позволяет легко определить, какие записи были обновлены.

                        Добавление в сети
                        -----------------

При использовании услуги Tools/More/Add в сети Paradox автоматически накладывает блокировку от записи на исходную таблицу и предохраняющую блокировку от записи на целевую таблицу. Это означает, что другие пользователи:

  • не могут изменять содержимое и структуру исходной таблицы;
  • не могут выполнять любую операцию, требующую полной или предохраняющей от записи блокировки целевой таблицы

пока записи не будут добавлены. Если кто-нибудь в сети уже начал операцию, которая требует полной блокировки или предохраняющей блокировки от записи для исходной таблицы, или полной блокировки (блокировки от записи) для целевой таблицы, вы не сможете добавить записи, пока этот пользователь не закончит указанную операцию.

MultiAdd (мультидобавление)


Услуга MultiAdd позволяет добавлять записи из одной таблицы в две или более таблицы одновременно. С помощью услуги MultiAdd можно выполнить запрос, связывающий несколько таблиц в одну, затем отредактировать эту таблицу и переслать изменения обратно в исходные таблицы.

По своим функциям Tools/More/MultiAdd очень похожа на услугу Modify/MultiEntry, которая описана в главе 7. Однако если услуга Modify/MultiEntry использовалась только для ввода данных, то с помощью услуги Tools/More/MultiAdd можно выбрать, чтобы записи из исходной таблицы заменяли записи в целевых таблицах или добавлялись к ним.

Прежде чем работать с услугой Tools/More/MultiAdd, вам необходимо иметь в наличии три объекта:

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

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

Прежде чем работать с услугой Tools/More/MultiAdd, нужно создать специальную таблицу соответствия, по которой Paradox установит, как пересылать данные из одной исходной таблицы в несколько целевых. Для создания таблицы соответствия в рабочем поле по запросу можно воспользоваться услугой Modify/MultiEntry/Setup. Если вы не знакомы с таблицами соответствия, прочитайте о них в главе 7.

Если исходная таблица защищена паролем, Paradox потребует с помощью приглашения ввести пароль. Пароль не требуется для таблицы соответствия и целевых таблиц. Если вы хотите защитить паролем любую из этих таблиц, назначьте ей тот же пароль, что и для исходной таблицы. Этот способ позволяет при открытии исходной таблицы одновременно освободить и все остальные таблицы, задействованные в операции MultiAdd.

После того, как вы выберете услугу MultiAdd из меню Tools/ More, Paradox попросит указать имя исходной таблицы, содержащей информацию, которая будет добавляться в целевые таблицы:


Source table:
Enter name of source table, or рress {Enter} for a list of tables (Введите имя исходной таблицы или нажмите {Enter}, чтобы получить список таблиц.)

Наберите имя исходной таблицы или нажмите {Enter}, чтобы выбрать исходную таблицу из меню. Выбранная таблица должна иметь свою таблицу соответствия, чтобы ее можно было использовать как исходную.

Затем Paradox попросит указать имя таблицы соответствия:


Map table:
Enter name of map table, or press {Enter} for a list of tables. (Введите имя таблицы соответствия или нажмите {Enter}, чтобы получить список таблиц.)

Наберите имя таблицы соответствия, которую вы хотите использовать, или нажмите {Enter}, чтобы выбрать таблицу соответствия из меню таблиц. Если выбранная таблица имеет неправильную структуру или не является таблицей соответствия для данной исходной таблицы, на экран будет выдано сообщение об ошибке.

После того, как вы указали исходную таблицу и таблицу соответствия, на экране появится меню с двумя услугами:

  • NewEntries (новые данные): добавить записи из исходной таблицы к целевым таблицам, не изменяя существующих записей в целевых таблицах (аналогично вводу данных).
  • Update (изменить): использовать записи исходной таблицы для обновления существующих записей в целевых таблицах.
                    NewEntries (новые данные)
                    -------------------------

Если вы выбрали услугу NewEntries, Paradox трактует записи в исходной таблице как новые записи для целевой таблицы; это очень похоже на действие услуги MultiEntry/Entry, описанной в главе 7. С помощью таблицы соответствия Pardox выбирает группы записей из исходной таблицы для добавления их в соответствующие целевые таблицы. Если какая-нибудь из целевых таблиц содержит ключевые поля, Paradox осуществляет проверку на уникальность ключа и повторяющиеся записи. Если запись исходной таблицы не нарушает уникальность ключа, она будет включена в целевую таблицу в порядке, заданном ключевым полем. Если целевая таблица не содержит ключевых полей, Paradox добавит запись исходной таблицы в конец целевой таблицы.

  • Конфликты ключей

При использовании услуги NewEntries конфликт ключей (наруше- ние уникальности ключа) имеет место, если любая из новых записей имеет то же значение ключа, что и существующая запись, а значения остальных неключевых полей у них различны.

В случае, если Paradox обнаружил конфликт ключей для любой из целевых таблиц, запись исходной таблицы переносится целиком во временную таблицу с именем кeyviol. Никакая часть исходной записи не будет добавлена ни в одну из целевых таблиц. Вы можете редактировать записи в таблице кeyviol, чтобы устранить нарушения уникальности ключа, а затем добавить записи из зтой таблицы в целевые таблицы с помощью услуги Tools/More/MultiAdd. Помните, что таблица кeyviol будет перезаписываться каждый раз при обнаружении новых конфликтов ключей и удалена при выходе из системы Paradox.

  • Повторяющиеся записи

Если значения в записи исходной таблицы в точности повторяют значения существующей записи в целевой таблице с ключевыми полями (то есть имеют место повторяющиеся записи, а не просто повторяющиеся ключи), запись из исходной таблицы будет "поглощаться" записями целевой таблицы, то есть она не будет никуда добавляться и не будет записана в таблицу кeyviol. Это правило позволяет использовать услугу MultiAdd без нарушения уникальности ключа в том случае, если записи в целевых таблицах имеют отношения "один- ко-многим".

                        Update (изменить)
                        -----------------

При применении услуги Update Paradox использует записи исходной таблицы для изменения существующих записей в целевых таблицах. С помощью таблицы соответствия Paradox выбирает группы записей исходной таблицы для каждой целевой таблицы. Для замены записей в целевых таблицах применяются следующие правила:

  • Если целевая таблица не содержит ключевых полей, новая запись будет добавлена в конец таблицы.
  • Если целевая таблица содержит ключевые поля, добавленные записи сортируются по ключевому полю.
  • Если запись в исходной таблице имеет то же значение ключа, что и запись в целевой таблице, но значения неключевых полей не совпадают, то значения неключевых полей исходной записи будут использованы для замены значений в записи целевой таблицы. В отличие от услуги Add/Update, при выполнении услуги MultiAdd/Update временная таблица changed не создается.
                     Мультидобавление в сети
                     -----------------------

При использовании услуги Tools/More/MultiAdd в сети Paradox автоматически накладывает блокировку от записи на исходную таблицу и предохраняющие блокировки от записи на целевые таблицы. Это означает, что другие пользователи:

  • не могут изменять содержимое и структуру исходной таблицы;
  • не могут выполнять любую операцию, требующую полной блокировки или предохраняющей блокировки от записи любой целевой таблицы,

пока записи не будут добавлены. Если кто-нибудь в сети уже начал операцию, которая требует полной или предохраняющей от записи блокировки для исходной таблицы, или полной блокировки (блокировки от записи) для любой целевой таблицы, вы не сможете выполнить операцию MultiAdd.

FormAdd (добавить через форму)


Когда вы добавляете записи к таблицам, которые логически связаны, часто бывает выгоднее использовать многотабличную форму, потому что она осуществляет проверку на целостность взаимосвязи данных, как описано в разделе "Редактирование записей с использованием многотабличных форм" в главе 7. Например, многотабличная форма не позволит вам вводить заказы несуществующие заказчиков.

Но иногда вы не можете использовать саму форму для ввода записей и имеете дело с отдельными, несвязанными таблицами. В этом случае вы можете использовать услугу FormAdd для добавления записей к таблицам через многотабличную форму, подвергаемую тем же проверкам на целостность данных. Услуга FormAdd особенно полезна:

  • Когда новые записи, которые должны быть созданы, расположены в различных местах.
  • Когда вы используете услугу DataEntry с многотабличной формой в сети и не можете завершить операцию из-за того, что некоторые целевые таблицы заблокированы. В этом случае вы можете выбрать услугу KeepEntry из меню DataEntry, которая указывает системе Paradox генерировать отдельные таблицы entry для новых данных. Позднее, когда целевые таблицы станут доступны, используйте FormAdd для завершения ввода данных.

В этом случае помните, что входные таблицы являются временными и будут перезаписаны или уничтожены. Если вы не сможете получить доступ к заблокированным таблицам до использования снова DataEntry или выхода из системы, используйте услугу Tools/Rename для переименования таблиц entry.

Услуга FormAdd работает приблизительно тем же образом, что и услуга MultiAdd, описанная в предыдущем разделе. Однако вам не нужно создавать таблицу соответствия, как вы делали это с Multi- Add. При использовании FormAdd форма сама является таблицей соответствия.

Каждая добавляемая запись должна быть привязана к главной таблице. Если вы вводите главные записи, которые не имеют соответствующих дополняющих записей, Paradox воспримет их. Однако дополняющие записи, не имеющие соответствующей главной записи, будут игнорированы. Конечно, они останутся в исходных таблицах, и вы сможете вернуться и добавить недостающие данные.

При выполнении операции FormAdd записи в исходной таблице никаким образом не изменяются. На выполнение операции также не влияет, содержит исходная таблица (таблицы) ключевые поля или нет.

После того, как вы выберете услугу FormAdd из меню Tools/ More, Paradox попросит указать имя главной и имя формы, посредством которой вы хотите добавлять новые записи. (Если это требуется, у вас будет запрошен пароль.)


Table:
Enter name of master target table, or рress {Enter} for a list of tables.
(Введите имя главной целевой таблицы или нажмите {Enter}, чтобы получить список таблиц)

*F 1 2 3
Standart form.
(Стандартная форма.)

Главной целевой таблицей является та, с которой связана многотабличная форма. Затем Paradox спросит, где размещены новые записи:

  • EntryTables (входные таблицы): добавить данные из сохраненных входных (entry) таблиц в форму.
  • AnyTables (любые таблицы): добавить данные из других таблиц в форму.
                  EntryTables (входные таблицы)
                  -----------------------------

Если вы выбрали услугу EntryTables, Paradox использует текущие таблицы entry в качестве исходных для новых данных. Paradox полагает, что таблица entry соответствует главной таблице, таблица entry1 - первой связанной таблице и т.д. Они названы таким образом, если вы использовали услугу Modify/DataEntry для ввода новых записей в многотабличную форму, а затем услугу KeepEntry для их сохранения. При выборе KeepEntry вы увидите таблицу list, перечисляющую имена всех таблиц entry и основной таблицы, с которой они связаны.

Когда вы используете услугу EntryTables, Paradox добавляет новые записи в целевые таблицы, используя свзанную многозаписевую форму как таблицу соответствия. По определению, таблицы entry содержат новые записи для целевых таблиц, а не заменяющие. Это означает, что Paradox должен осуществлять проверки на конфликт ключей и на повторяющиеся записи. Если конфликтов ключей не обнаружено, новые записи вставляются в целевые таблицы согласно значению ключевого поля.

  • Конфликты ключей

Конфликт ключей имеет место, если любая из новых записей имеет то же значение ключа, что и существующая запись в целевой таблице, а значения остальных неключевых полей у них различны.

В случае, если Paradox обнаружил конфликт ключей, он помещает каждую исходную запись, повинную в нем, в одну из ряда временных таблиц с именами кeyviol, кeyviol1, кeyviol2 и т.д. (Если главная запись повинна в конфликте, связанные с ней дополняющие записи такде помещаются в таблицы keyviol.) Вы увидите таблицу list, в которой каждая таблица keyviol соотносится с основной таблицей, для которой запись предназначается. Вы можете редактировать записи в таблицах кeyviol, чтобы устранить нарушения уникальности ключа, а затем добавить записи из зтих таблиц в целевые с помощью услуги FormAdd. Помните, что таблицы кeyviol будут перезаписанных при следующем обнаружении конфликтов ключей и удалены при выходе из системы Paradox.

Paradox не дублирует автоматически изменения, которые вы вносите в одну таблицу keyviol, в другие таблицы keyviol.

                    AnyTables (любые таблицы)
                    -------------------------

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

  • NewEntries (новые данные): добавить записи из исходных таблиц в целевую форму, не изменяя существующих записей в целевых таблицах (аналогично вводу данных).
  • Update (изменить): использовать записи исходных таблиц для обновления существующих записей в целевой форме.

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


Source table:
Enter name of source for Customer, or рress {Enter} for a list of tables.
(Введите имя источника для таблицы Customer или нажмите {Enter}, чтобы получить список таблиц.)

Когда вы выберете исходную таблицу для каждой таблицы в форме, Paradox пойдет дальше и добавит записи.

  • NewEntries (новые данные)

Выбор услуги NewEntries указывает системе Paradox, что исходные таблицы содержат новые записи для целевой таблицы, а не замещающие. Если вы выберете ее, Paradox добавит новые записи в целевые таблицы, используя связанную многозаписевую форму как таблицу соответствия. Как и при использовании EntryTables, записи с конфликтующими ключами помещаются в таблицы keyviol, а повторяющиеся записи игнорируются. Более подробно об этом смотрите разделы "Конфликты ключей" и "Повторяющиеся записи" в разделе, посвященном услуге EntryTables.

  • Update (изменить)

При применении услуги Update Paradox добавляет новые записи к целевым таблицам, используя любые исходные записи с повторяющимися ключевыми значениями для замены существующих записей. Для замены записей в целевых таблицах применяются следующие правила:

  • Если целевая таблица не содержит ключевых полей, новая запись будет добавлена в конец таблицы.
  • Если целевая таблица содержит ключевые поля, добавленные записи сортируются по ключевому полю.
  • Если запись в исходной таблице имеет то же значение ключа, что и запись в целевой таблице, но значения неключевых полей не совпадают, значения неключевых полей исходной записи будут использованы для замены значений в записи целевой таблицы.

Paradox не создает таблицу changed, когда вы используете услугу FormAdd/Update.

                  Использование FormAdd в сети
                  ----------------------------

При использовании услуги FormAdd в сети Paradox автоматически накладывает блокировку от записи на все исходные таблицы и предохраняющую блокировку от записи на целевые таблицы. Это означает, что другие пользователи:

  • не могут изменять содержимое и структуру исходных таблиц;
  • не могут выполнять любую операцию, требующую полной блокировки или предохраняющей блокировки от записи любой целевой таблицы

пока записи не будут добавлены. Если кто-нибудь в сети уже начал операцию, которая требует полной или предохраняющей от записи блокировки для исходной таблицы, или полной блокировки (блокировки от записи) для любой целевой таблицы, вы не сможете выполнить операцию FormAdd.

Subtract (вычесть)


Услуга Subtract позволяет удалить из таблицы записи, которые есть в другой таблице.

После того, как вы выберете услугу Subtract из меню Tools/ More, Paradox попросит указать сначала таблицу, которая содержит удаляемые записи, а затем таблицу, из которой они будут удалены:


Table:
Enter name of table with records to subtract, or press {Enter} for a list of tables.
(Введите имя таблицы, по которой будут удаляться записи, или нажмите {Enter}, чтобы получить список таблиц.)

Table:
Enter name of table from with records to remove, or press {Enter} for a list of tables.
(Введите имя таблицы, из которой будут удаляться записи, или нажмите {Enter}, чтобы получить список таблиц.)

Какие именно записи будут удалены, зависит от того, имеет целевая таблица ключевые поля или нет:

  • Если целевая таблица не имеет ключевых полей, она потеряет все записи, которые в точности совпадают с любыми записями в первой таблице. (Исходная таблица не будет изменена, поэтому данные не будут потеряны.)
  • Если целевая таблица имеет ключевые поля, она потеряет все записи, у которых ключевые поля совпадают с ключевыми полями любой записи в исходной таблице.

Таблицы, участвующие в операции вычитания, должны иметь совместимые (хотя не обязательно идентичные) типы полей, расположенные в том же порядке. Это означает, что:

  • числовое поле любого типа (N, $ или S) может вычитаться из другого;
  • алфавитно-цифровое поле (А) любой длины может вычитаться другого;
  • поле типа дата (D) может вычитаться только из поля типа дата.
                        Вычитание в сети
                        ----------------

При использовании услуги Tools/More/Subtract в сети Paradox автоматически накладывает полную блокировку на обе таблицы, вовлеченные в операцию. Это означает, что другие пользователи не могут никак работать с обеими таблицами, пока операция не завершится. Если кто-нибудь в сети уже начал работать с какой-либо из этих таблиц, вам придется подождать, пока он не закончит работать с ней.

Empty (очистить)


Услуга Empty (очистить) удаляет все записи из таблицы. Вы можете использовать ее, когда нужно сохранить структуру таблицы, а записи в ней уже не нужны. Услуга Empty особенно полезна в начале работы скрипта, чтобы очистить таблицы, которые будут использоваться для хранения или отображения записей, полученных в результате запросов (смотрите главу 11).

ПРЕДУПРЕЖДЕНИЕ. Записи, удаленные из таблицы с помощью услуги Tools/More/Empty, нельзя восстановить.

После того, как вы выберете услугу Empty из меню Tools/More, Paradox попросит указать таблицу, содержимое которой нужно очистить:


Table:
Enter name of table to empty of records, or press {Enter} for a list of tables.
(Введите имя таблицы, содержимое которой нужно очистить, или нажмите {Enter}, чтобы получить список таблиц.)

До выполнения операции очистки таблицы, Paradox потребует подтвердить удаление всех записей из таблицы:


*Cancel OK
Do not empty records from table.
(Не удалять записи из таблицы.)
  • Cancel (прервать): отказаться от выполнения операции.
  • OK (подтвердить): подтвердить удаление всех записей из таблицы.
                      Очистка таблиц в сети
                      ---------------------

При использовании услуги Tools/More/Empty в сети Paradox автоматически накладывает полную блокировку на таблицу. Это означает, что другие пользователи не могут с ней работать ни как, пока операция не завершится. Если кто-нибудь в сети уже начал работать с таблицей, вам придется подождать, пока он или она не закончит.

Protect (защитить)


Информация, которая хранится в таблицах системы Paradox, может предназначаться для ограниченного круга лиц или быть очень важной для вас. Услуга Protect позволяет защитить таблицы и скрипты от несанкционированного доступа или случайных изменений.

После того, как вы выберете услугу Protect из меню Tools/ More, на экране появится меню, содержащее три услуги:

  • Password (пароль): зашифровать и установить пароль для таблицы или скрипта.
  • ClearPasswords (очистить пароли): снять защиту с объектов, убрав текущие пароли.
  • Write-Protect (защита от записи): предотвратить случайные изменения в таблице.
                        Password (пароль)
                        -----------------

Услуга Password позволяет вам предотвратить доступ случайных пользователей к информации, которую вы храните в системе Paradox. Когда таблица или скрипт защищены паролем, соответствующие файлы данных шифруются (криптографируются) так, что их нельзя прочитать даже средствами DOS. Без ввода правильного пароля пользователь не может выполнить операции просмотра, редактирования, копирования, удаления таблицы или скрипта и другие.

Кроме этого, для таблицы помимо основного пароля (пароля владельца), знание которого позволяет работать с таблицей любым образом, вы можете также установить так называемый дополнительный пароль, который только частично разблокирует таблицу. При многопользовательском режиме работы дополнительные пароли позволят вам точно управлять, кто и что может сделать с теми или иными данными. Напрмер, вы можете решить, что какой-то пользователь не должен видеть определенные поля, может просматривать, но не может изменять другие, может редактировать, но не может вставлять новые записи в третьи и т.д.

Пароль можно удалить в любой момент. Однако, чтобы его удалить, вы должны его знать.

| При установке вашего пароля запишите его и храните в надеж | ном месте. Без него вы не сможете получить доступа к вашему | собственному файлу. Для вашей собственной безопасности в | системе Paradox нет средств определения пароля владельца.

Чтобы установить пароль для таблицы или скрипта, выберите услугу Password из меню Tools/More/Protect. На экране появится меню, содержащее два вида объектов, которые можно защитить паролем:


*Table Script
Set or remove a password for a table.
(Установить или удалить пароль для таблицы.)
  • Table (таблица): зашифровать и защитить паролем таблицу системы Paradox.
  • Script (скрипт): зашифровать и защитить паролем скрипт.
    • Защита паролем таблицы

Как "владелец" таблицы, вы можете ограничить к ней доступ, присвоив ей пароль владельца. После того, как вы сделаете это, таблица будет зашифрована, и никто из тех, кто не знает пароля владельца или дополнительного пароля, установленных вами, не сможет получить доступа к таблице. С помощью дополнительного пароля вы можете управлять:

  • доступом к самой таблице;
  • доступом к отдельным полям таблицы;
  • доступом к объектам, входящим в семейство таблицы.

Если вы выберете услугу Table, Paradox вас ввести имя таблицы, которую вы хотите защитить:


Table:
Enter name of table to protect or unprotect, or press {Enter} to see a list of tables.
(Введите имя таблицы для установления или снятия пароля или нажмите {Enter}, чтобы получить список таблиц.)

# Установка пароля владельца

После того, как вы выбрали таблицу, которую хотите защитить, Paradox попросит ввести новый пароль владельца:


Password:
Enter new owner password, or press {Enter} to remove all passwords.
(Введите новый пароль владельца или нажмите {Enter}, чтобы удалить все пароли.)

Длина вводимого вами пароля может быть до 15 символов, включая пробелы. Paradox попросит вас ввести его дважды, чтобы убедиться, что он правилен. Не забудьте записать установленный пароль и храните его в надежном месте!

# Установка дополнительного пароля

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

Установка дополнительных паролей является необязательной. Если вы не работаете в сети, установка пароля владельца, как правило, полностью обеспечивает ваши потребности по защите информации. Для того, чтобы защитить таблицу или ее семейство от несанкционированного доступа, требуется установить только пароль владельца. Поэтому, если вам больше ничего не нужно, нажмите {F2} (выполнить), как только увидите форму для первого дополнительного пароля, после чего Paradox установит пароль владельца и зашифрует таблицу или скрипт.

Форма дополнительного пароля является обычной формой системы Paradox, и вы можете пользоваться ей как любой другой формой. Для каждого дополнительного пароля заполняйте одну форму, используя клавиши управления курсором (клавиши со "стрелками"), {Tab} или {Enter} для перемещения от одного поля к другому. Эти формы обладают способностью автоматического заполнения, поэтому вам достаточно ввести тольку первую букву требуемого слова.

Нажимайте {PgDn}, чтобы переместиться к новой записи для установления дополнительных паролей.

Если хотите, можете нажать клавишу {F7} (переключатель форм) и вводить дополнительный пароль в режиме просмотра таблицы.

Процесс назначения дополнительного пароля один и тот же для режимов просмотра таблицы и просмотра формы. После того, как вы закончите, нажмите {F2} или выберите услугу DO-IT! (выполнить) из меню Password для установки пароля и шифрования таблицы. Если вы хотите отменить сделанные вами изменеия, выберите услугу Undo (отменить) или Cancel (прервать).

# Типы прав доступа

Форма дополнительного пароля имеет четыре области для ввода данных:

  • Password (пароль). В это поле введите сам дополнительный пароль длиной до 15 символов.
  • Table rights (права доступа к таблице (табличные права)). Вы можете разрешить пользователям, знающим дополнительный пароль, один из пяти уровней доступа к таблице, перечисленных ниже. Для этого введите первую букву соответствующего слова:
    • ReadOnly (только читать). Пользователь может просматривать таблицу, но никак не может изменять ее.
    • Update (изменять). Пользователь может изменять неключевые поля таблицы, но не может вставлять или уничтожать записи или изменять ключевые поля.
    • Entry (вводить). Пользователь может вводить новые записи (с помощью услуг Modify/DataEntry или Tools/More/ Add) и изменять неключевые поля, но не может удалять записи.
    • InsDel (вставлять/удалять). Пользователь может изменять содержимое всех полей, вставлять и удалять записи, а также очищать таблицу, но не может изменять структуру таблицы или уничтожать ее.
    • All (все). Пользователь имеет полный доступ к таблице, включая возможность изменения ее структуры и уничтожения. Доступ такой же, как и с использованием пароля владельца но вы можете не раскрывать свой пароль владельца, разрешив пользователям такой доступ к выбранным таблицам.
  • Family rights (права доступа к семейству). Выберите, какие

    виды объектов пользователь может разрабатывать, изменять или удалять, нажатием первой буквы соответствующего слова. Вы можете не указывать ни одного, один, два или все. (Не имея этих прав, пользователь может использовать эти объекты, но не может их изменять никаким образом.)

    • F (формы). Пользователь может разрабатывать, изменять и удалять формы.
    • R (отчеты). Пользователь может разрабатывать, изменять и удалять отчеты.
    • V (проверки правильности). Пользователь может устанавливать, изменять и удалять проверки правильности.
    • S (установки образа). Пользователь может устанавливать, изменять и удалять установки образа.
  • Field rights (права доступа к полю (полевые права)). Для

    каждого поля выбирите один из двух уровней доступа, нажав первую букву соответствующего слова. Если вы оставите бланк пустым, пользователь, знающий дополнительный пароль, будет иметь полный доступ к значениям в данном поле.

    • (пустой). Пользователь имеет все права; он может просматривать и изменять значеия в поле.
    • ReadOnly (только читать). Пользователь может просматривать значения в поле, но не может изменять их.
    • None (ничего). Пользователь не может ни просмотреть, ни изменить значения в поле.

Если таблица содержит более 16 полей, они могут не поместиться на одну страницу формы. В этом случае форма дополнительного пароля имеет более одной страницы для каждой записи. Вы можете использовать клавиши {PgUp} и {PgDn} для "перелистывания" страниц.

Если вы определили дополнительный пароль с полными (All) правами доступа к таблице, это означает, что вы не сможете ограничить доступ этого пользователя к семейству и полям таблицы.

Кроме того, уровень табличных прав для дополнительного пароля влияет на разрешенные полевые права для полей данной таблицы. Таблица ниже показывает какие уровни полевых прав совместимы с различными табличными правами.

Табличные------Полевые права------------------------------------- права

Минимальные----Максимальные-----------------------

Ключевые поля----Неключевые поля---

All            All            All              All
Ins/Del        All            All              All
Entry          нет            All              All
Update         нет            ReadOnly         All
ReadOnly       нет            ReadOnly         ReadOnly

# Меню Password

При назначении дополнительных паролей вы можете в любой момент нажать клавишу {F10} (меню) и выйти в меню Password. Оно содержит четыре услуги:

  • Undo (отменить): отменить последнее изменение в таблице дополнительного пароля.
  • Help (помощь): получить информацию о назначении дополнительных паролей.
  • DO-IT! (выполнить): закончить назначение вспомогательных паролей, зашифровать таблицу и вернуться в главное рабочее поле (то же самое выполняет {F2}).
  • Cancel (прервать): прервать назначение паролей, отменить все сделанные изменения и вернуться в главное рабочее поле.

В дополнение к этим услугам вы можете нажать клавиши {Ctrl}{U} (отменить), чтобы отменить изменения, внесенные в дополнительные пароли во время текущего сеанса.

# Изменение и удаление пароля таблицы

Для того, чтобы изменить или удалить пароль из таблицы, выберите снова услугу Password/Table из меню Tools/More/Protect. Так как файл уже защищен паролем, Paradox попросит указать текущий пароль владельца (если вы его еще не указывали в текущем сеансе). Например:


Password:
Enter password for this table to change password status. (Введите пароль для этой таблицы, чтобы изменить состояние пароля.)

После этого Paradox спросит, пароль какого вида вы хотите изменить:

  • Owner (владельца): изменить или удалить пароль владельца (и дополнительные пароли, если хотите).
  • Auxiliary (дополнительный): изменить или удалить только дополнительные пароли.

С этой точки процесс точно такой же, как и при начальном назначении пароля. Если вы выберете Owner, Paradox попросит ввести новый пароль владельца (дважды); не забудьте его записать! После этого вы увидите форму дополнительного пароля. Если вы выберете Auxiliary, будут выданы только формы для дополнительных паролей.

В обоих случаях нажмите {F2} для сохранения изменений и перешифрования таблицы.

Для того, чтобы удалить все пароли, выберите Owner и в ответ на приглашение ввести новый пароль владельца просто нажмите {Enter}. Вам больше не будет требоваться вводить пероль, чтобы получить доступ к таблице. При удалении пароля владельца удаляются и дополнительные пароли.

Чтобы удалить дополнительный пароль, нажмите {Del} для удаления его записи из таблицы дополнительных паролей. Для удаления всех дополнительных паролей уничтожьте все записи из таблицы дополнительных паролей.

  • Защита паролем скрипта

Защита скрипта с помощью пароля проще защиты таблицы, поскольку в этом случае назначается только один пароль - владельца. Другие пользователи должны знать этот пароль, чтобы редактировать, удалять или отлаживать скрипт, но не выполнять его.

После того, как вы выберете услугу Password/Script из меню Tools/More/Protect, Paradox попросит вас ввести имя скрипта, который вы хотите защитить:


Script:
Enter name of script to protect/unprotect, or press {Enter} for a list of scripts.
(Введите имя скрипта для установки или снятия пароля или нажмите {Enter}, чтобы получить список скриптов.)

После этого Paradox попросит вас ввести новый пароль:


Password:
Enter new password, or press {Enter} to remove current password. (Введите новый пароль или нажмите {Enter}, чтобы удалить текущий)

Длина вводимого вами пароля может быть до 15 символов, включая пробелы. Paradox попросит вас ввести его дважды, чтобы убедиться, что он правилен. Не забудьте записать установленный пароль и храните его в надежном месте!

# Изменение и удаление пароля скрипта

Для того, чтобы изменить или удалить пароль скрипта, выберите снова услугу Password/Script из меню Tools/More/Protect. Так как скрипт уже защищен паролем, Paradox попросит указать текущий пароль владельца (если вы его еще не указывали в текущем сеансе). После того, как вы укажете правильный пароль, Paradox пригласит вас ввести новый пароль:


Password:
Enter new password, or press {Enter} to remove current password. (Введите новый пароль или нажмите {Enter}, чтобы удалить текущий)

Для того, чтобы изменить пароль, просто введите новый. И не забудьте его записать!

Чтобы удалить пароль, просто нажмите {Enter}. Вам больше не будет требоваться вводить пароль, чтобы получить доступ к скрипту.

  • Работа с объектами, защищенными паролем

Если таблице или скрипту назначен пароль, доступ к ним будет ограничен.

  • Если таблица защищена паролем, никто не сможет использовать ее и ее семейство для любых операций, не указав предварительно пароль. Если вы попытаетесь использовать защищенную таблицу или член ее семейства, Paradox попросит вас ввести пароль. Например:
    Password: Enter password for this table to view it. (Ввелите пароль, чтобы просмотреть таблицу.)

Ваши возможности по работе с таблицей зависят от введенного пароля. Если вы введете пароль владельца, вы получите полный доступ к таблице. Если вы введете дополнительный пароль, ваши права зависят от прав, определенных для этого пароля.

  • Если скрипт защищен паролем, его все равно можно выполнять, не указывая пароль. Однако никто не сможет редактировать или отлаживать его, не введя сначала пароль.

Для вашего удобства, пароль нужно вводить один раз за каждый сеанс. Если вы ввели правильный пароль, его не нужно больше вводить до выхода из системы Paradox. (Вы можете также использовать услугу Tools/More/Protect/ClearPasswords, описанную ниже, для очистки пароля и перезащиты таблицы или скрипта.)

Отметим, что указание правильного пароля не дешифрует объект - оно просто дает доступ к объекту. Поэтому, хотя дешифрование ние требует некоторого времени, после его завершения оно не занимает больше ваше время.

Кроме того, доступ к защищенным объектам в сети относится только к конкретному компьютеру или рабочей станции. Если вы указали правильный пароль для какой-то таблицы, только вы - и никто больше! - можете с ней работать. Любой другой пользователь, желающий поработать с той же таблицей, также должен указать правильный пароль.

                ClearPasswords (очистить пароли)
                --------------------------------

Если вы указали пароль, Paradox помнит его на протяжении всего сеанса. То есть вы можете после этого использовать (и неоднократно) таблицы и скрипты, не вводя пароль каждый раз.

Недостатком такой системы является то, что если вы покинете компьютер, не завершив сеанса, любой подошедший пользователь сможет работать с вашими объектами, который вы защитили с помощью пароля. Особенно эта проблема относится к сети.

Для решения этой проблемы вы можете использовать услугу ClearPasswords (очистить пароли), чтобы удалить все пароли, введенные вами на протяжении текущего сеанса. Если вы очистите пароли, рабочее поле также будет очищено!

При выборе услуги ClearPasswords из меню Tools/More/Protect Paradox просит вас подтвердить ваше намерение:


*Cancel OK
Do not clear passwords. (Не удалять пароли.)
  • Cancel (прервать): не удалять пароли, оставив все как есть.
  • OK (подтвердить): очистить все пароли, очистив также рабочее поле.

В последнем случае вы увидите сообщение о выполнении операции.

                Write-Protect (защита от записи)
                --------------------------------

Услуга Write-Protect позволяет защитить таблицы от случайных изменений или перезаписи. Если вы когда-либо случайно удаляли файл, заменяли его другим или случайно удаляли нужные записи, вы сполна оцените полезность этой услуги. Если файл защищен от записи, его уже нельзя редактировать или удалить до тех пор, пока не будет отменена защита от записи.

Поскольку защита от записи может быть удалена в любой момент любым пользователем, эта услуга не подменяет защиту таблиц паролем. Она просто добавляет лишний шаг к процессу изменения или удаления таблицы, выполняя который, пользователь должен еще раз определить, действительно ли нужно изменить или удалить выбранную им таблицу.

Чтобы установить или снять защиту от записи для таблицы, выберите услугу Write-Protect из меню Tools/More/Protect. Paradox попросит указать, какую таблицу нужно защитить от записи:


Table:
Enter name of table, or press {Enter} for a list of tables. (Введите имя таблицы или нажмите {Enter}, чтобы получить список таблиц.)

После того, как вы наберете имя таблицы или выберете его из меню, Paradox попросит указать, что нужно сделать: установить или снять защиту от записи:

  • Set (установить): установить защиту от записи для таблицы.
  • Clear (снять): снять защиту от записи для таблицы.
                          Защита в сети
                          -------------

При работе в сети защита таблиц и скриптов имеет даже большее значение, чем при автономном использовании системы, из-за наличия других пользователей. Отметим, что каждый может установить пароль владельца - и управлять дополнительными паролями - на незащищенную таблицу. Поэтому вам, возможно, иногда следует устанавливать для таблицы пароль сразу после ее создания. Иначе кто-нибудь сможет первым заблокировать вашу собственную таблицу.

Когда вы используете услугу Tools/More/Protect в сети, Para- dox автоматически накладывает полную блокировку на скрипт или таблицу, которые вы защищаете. Это означает, что другие пользователи не смогут никак использовать вашу таблицу, пока она не будет зашифрована (или дешифрована).

Если кто-либо в сети уже использует объект каким-либо образом, вы не сможете защитить его, пока этот пользователь не закончит.

Если вы являетесь администратором сети или разработчиком приложений, вы можете также использовать Генератор защиты (Para- dox Protection Generator) для установки системы защиты на всю базу данных в целом. Более подробно об этом смотрите книгу "Руко- водство администратора сети".

Directory (каталог)


Наиболее удобно работать с таблицами и другими объектами, которые находятся на вашем рабочем дисководе и в рабочем каталоге. Каждый раз, когда нужно работать с объектом, который расположен на другом дисководе или в другом каталоге, необходимо перед именем файла указать имя дисковода и/или каталога.

Обычно ваш рабочий каталог является текущим каталогом DOS - тем, из которого вы запускаете систему Paradox. Но если вы хотите работать с объектами, которые расположены в другом каталоге, вы можете изменить рабочий каталог с помощью услуги Directory. При изменении рабочего каталога рабочее поле очищается, а временные таблицы удаляются!

После того, как вы выбрали услугу Directory из меню Tools/More, Paradox попросит указать, какой каталог нужно установить в качестве рабочего. Текущий рабочий дисковод и каталог при этом будут выданы на экран:


Directory: c:paradox3
Enter new working directory specification (e.g. a:data or b:). (Введите описание нового рабочего каталога.)

Отредактируйте имя дисковода и каталога. Затем нажмите {Enter}. До того, как изменить рабочий каталог, Paradox попросит подтвердить ваше решение:


*Cancel OK
Do not change directories. Do not clear workspace and delete tables.
(Не изменять рабочего каталога. Не очищать рабочее поле и не удалять временные таблицы.)
  • Cancel (прервать): отказаться от изменения рабочего каталога, очистки рабочего поля и удаления временных таблиц.
  • OK (подтвердить): подтвердить изменение рабочего каталога, очистить рабочее поле и удалить временные таблицы.

ToDOS ({Ctrl}{O}) (временно выйти в DOS)


Услуга ToDOS (временно выйти в DOS) позволяет временно выйти из системы Paradox в DOS. Когда вы выбираете услугу Tools/More/ ToDOS или нажимаете {Ctrl}{О}, текущее состояние системы Paradox сохраняется, и вы можете напрямую работать с DOS. Это очень полезно, если нужно выполнить команду DOS, например, отформатировать гибкий диск или использовать другую утилиту, не прерывая сеанс работы с системой Paradox. После завершения работы в DOS, просто наберите команду DOS exit, и вы вернетесь в Paradox в то место, из которого вышли в DOS.

При выходе в DOS с помощью услуги ToDOS или команды {Ctrl}{O} Paradox продолжает занимать 420K байт памяти, оставляя DOS только остальное. Если же вам нужно в DOS больше памяти, воспользуйтесь для выхода в DOS командой {Alt}{DOS}. Эта опция сохраняет большую часть состояния системы Paradox на диске, оставляя ей в памяти 100K. Единственным недостатком этой команды является то, что при выходе и возвращении в систему Paradox расходуется время на операции с диском.

Но услуга ToDOS не только очень полезна, она также потенциально опасна. Она опасна потому, что, когда вы находитесь в DOS, не действуют встроенные в систему Paradox механизмы проверки ресурсов и защиты данных от случайных потерь. Находясь в DOS, можно, таким образом, изменить операционную среду, в которой работает Paradox, и, следовательно, вызвать такие проблемы ресурсов или несогласованности, в результате которых продолжить работу в системе Paradox будет невозможно.

В худшем случае, если вы временно вышли в DOS при выполнении некоторой операции системы Paradox (например, редактирования или создания формы), а затем изменили операционную среду, это может привести к потере данных или порче объекта. Вы можете также потерять информацию, если вы выйдите из системы Paradox, а затем не сможете вернуться к работе с ним без перезагрузки операционной системы или повторного включения компьютера.

Наиболее общий принцип, которым надо руководствоваться при временном выходе в DOS, состоит в следующем:

  • Какая бы конфигурация DOS не существовала, когда вы выходите из системы Paradox, она должна быть доступна снова при возвращении в Paradox.

Ну а в частности придерживайтесь следующих правил:

  • При работе в DOS никогда не удаляйте, не изменяйте имена или файлы, с которыми вы работали в момент выхода в DOS. Особенно это относится к системным файлам системы Paradox и к файлам, в которых хранятся объекты системы Paradox.
  • Никогда не загружайте любую резидентную программу в оперативную память или любую другую программу, которая изменяет ресурсы оперативной памяти. Это относится к таким программам, как SideKick, ProKey и им подобным. Вы можете их запустить до или после сеанса работы с системой Paradox.
  • Никогда не используйте команды DOS print или mode, если вы не использовали их до того, как начали работать с системой Paradox.
  • Если вы, при работе в DOS, изменили текущий каталог, вернитесь в прежний до выполнения команды exit.
  • Если вы заменили дискеты после выхода из системы Paradox, убедитесь, что прежние дискеты возвращены обратно до выполнения команды exit.
  • Чтобы вернуться в систему Paradox, всегда используйте команду exit. Не выключайте ваш компьютер, если сеанс работы с ситемой Paradox не завершен.

Если вы не знаете, к каким последствиям приведет выполнение какой-либо операции в DOS, лучшее правило: НЕ ДЕЛАЙТЕ! Лучше сначала совсем выйти из системы Paradox с помощью услуги Exit Главного меню, а затем выполнить операцию DOS.




  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте