Версия системы 7.0 может работать в операционных системах Windows 9x и ядра NT, версии 8.0 и 9.0 - только в Windows XP, 2000, 2003.
| Наименование предельной величины | Предельная величина |
|---|---|
| Количество записей в файле таблицы | 1 миллиард |
| Размер файла таблицы | 2 гигабайта |
| Количество символов в одной записи | 65500 |
| Количество полей в одной записи | 255 |
| Количество одновременно открытых таблиц | 255 |
| Количество символов в поле таблицы | 254 |
| Количество байтов в индексном ключе в некомпаундном индексе | 100 |
| Количество байтов в индексном ключе в компаундном индексе | 240 |
| Количество открытых индексных файлов для одной таблицы | не ограничено |
| Количество открытых индексов во всех рабочих областях | не ограничено |
| Количество связей | не ограничено |
| Длина выражений связи | не ограничена |
| Размер символьных полей | 254 |
| Размер числовых полей | 20 |
| Количество символов в имени поля в свободной таблице | 10 |
| Количество символов в имени поля в таблице, содержащейся в базе данных | 128 |
| Диапазон целых чисел | + 2 147 483 647 |
| Точность в числовых вычислениях | 16 цифр до 9007199254740992 (253) |
| Действительные числа | до 10308 или 2 1023 |
| Количество переменных по умолчанию | 16384 |
| Количество переменных | 65000 |
| Количество массивов | 65000 |
| Количество элементов в массиве | 65000 |
| Количество строк в исходных программных файлах | не ограничено |
| Размер модуля компилируемой программы | 64 килобайта |
| Размер процедур в файле | не ограничен |
| Количество вложенных DO | 128 |
| Количество вложенных READ | 5 |
| Количество передаваемых параметров | 27 |
| Количество транзакций | 5 |
| Количество объектов в отчете | не ограничено |
| Длина описания отчета | 20 дюймов |
| Количество уровней группировки | 74 |
| Длина символьных переменных в отчете | 255 |
| Количество открытых окон (всех типов) | не ограничено |
| Количество открытых окон BROWSE | 255 |
| Количество символов в символьной строке или переменной памяти | 16 777 184 |
| Количество символов в командной строке | 8192 |
| Количество открытых файлов | возможности ОС |
| Количество нажатий клавиш в макро | 1024 |
| Количество полей в одном запросе SQL | 255 |
| Тип | Описание | Размер | Диапазон |
|---|---|---|---|
| Blob | Двоичные данные неограниченной длины. Значения сохраняются в memo (.fpt) файле. Кодовая страница не учитывается | 4 байта в *.dbf | Ограничен доступной памятью, на диске до 2 Гб |
| Character | Текст, состоящий из символов | 1 байт на символ, до 254 символов | Любые символы |
| Currency | Денежный формат | 8 байт | - $922337203685477.5807 до $922337203685477.5807 |
| Date | Дата, состоящая из месяца, дня и года | 8 байт | От {^0001-01-01} - 1 января 1 года до {^9999-12-31} - 31 декабря 9999 года |
| DateTime | Дата и время, состоит из месяца, дня, года, часа, минуты и секунды | 8 байт | От {^0001-01-01} до {^9999-12-31}, время от 00:00:00 до 23:59:59 |
| Logical | Логическое значение, True или False | 1 байт | True (.T.) или False (.F.) |
| Numeric | Целые или действительные числа | 8 байт в памяти; от 1 до 20 байт в *.dbf | - .9999999999E+19 до .9999999999E+20 |
| Varbinary | Двоичные значения. Под пустые концевые значения место на диске не резервируется. Кодовая страница не учитывается | 1 байт на шестнадцатеричное значение, всего до 255 байт | Любое шестнадцатеричное значение |
| Variant | Любой тип |
См. все другие типы | См. все другие типы |
| Тип поля | Описание | Размер | Диапазон |
|---|---|---|---|
| Character Binary | Текст, состоящий из символов. Кодовая страница не учитывается | 1 байт на символ, до 254 символов | Любые символы |
| Double | Действительные числа удвоенной значимости | 8 байт | +4.94065645841247E-324 до +8.9884656743115E307 |
| Float | То же самое, что и Numeric | 8 байт в памяти; от 1 до 20 байт в *.dbf | - .9999999999E+19 до .9999999999E+20 |
| General | Ссылка на OLE-объект. Значения сохраняются в memo (.fpt) файле | 4 байт в *.dbf | Ограничен доступной памятью |
| Integer | Целое числовое значение | 4 байта | -2147483647 до 2147483647 |
| Integer Autoinc | Целое значение, автоматически изменяющееся. Только для чтения (read-only) | 4 байта | Определяется значениями Next и Step |
| Memo | Символьный текст. Значения сохраняются в memo (.fpt) файле | 4 байтa в *.dbf | Ограничен доступной памятью |
| Memo Binary | То же, что Memo. Кодовая страница не учитывается | 4 байтa в *.dbf | Ограничен доступной памятью |
| Varchar | Символьный текст. Varchar подобен Character, но не резервируется место для концевых пробелов | 1 байт на символ, всего до 254 символов | Любые символы |
| Varchar Binary | Тип Varchar, кодовая страница не учитывается | 1 байт на символ, всего до 254 символов | Любые символы |
Некоторые достоинства системы:
Система
Особенность системы - использование значительного количества файлов с различными расширениями для работы с различными типами объектов, но по сути формат многих из них - dbf с мемо-полями.
В табл. 4.4 приведен список основных типов файлов. Знание всех типов файлов необходимо каждому программисту, работающему с системой.
| Основной файл | Memo поля | Индексы | Скомпилированный файл | Тип файла |
|---|---|---|---|---|
| . |
. |
.dcx | База данных (Database) | |
| .dbf | .fpt | .cdx, .idx | Таблица (Table) | |
| .frx | . |
Отчет (Report) | ||
| .h | ||||
| .ico | Иконка | |||
| .lbx | .lbt | Этикетка (Label) | ||
| .mnx | .mnt | . |
Меню | |
| . |
Сгенерированная программа меню | |||
| . |
Библиотека объектов ActiveX | |||
| .pjx | .pjt | .exe, .dll, .app | Мемо-поля проекта | |
| .prg | .fxp | Файл программы | ||
| .qpr | .qpx | Программа-запрос | ||
| .scx | .sct | Форма (Form) | ||
| .vcx | . |
Библиотека |
Перед использованием системы
(рис 4.1) Окно настройки параметров системы Visual FoxPro
Наиболее существенными являются настройки:
Все заданные параметры будут сохранены в файле foxuser.dbf, если будет нажата кнопка Set As Default.
Еще один файл, который связан с настройкой системы, - Config.fpw. Это текстовый файл, в котором можно записать некоторые команды конфигурирования системы (например, codepage = auto, date = german, screen = off и пр.). Он выполняется автоматически при запуске
Во время работы в системе все предварительные установки при необходимости можно изменить.
При работе в
Следует знать о таком свойстве окон в
(рис 4.2) Главное окно системы Visual FoxPro с открытыми в нем окнами проекта, программы, Trace, Watch, Data Session и Command
Разработка любой информационной системы начинается с создания базы данных. Рассмотрим процесс создания базы данных, модель которой описана в предыдущей лекции, в системе
Для создания новой базы данных можно воспользоваться кнопкой New стандартной панели инструментов (рис. 4.3) или пунктом меню "File - New:".
(рис 4.3) Стандартная панель инструментов системы Visual FoxPro
(рис 4.4) Выбор типа файла в диалоге New
Особенность этой команды - возможность создания большого количества различных типов файлов, соответствующих различным типам объектов системы, которые мы видим в окне New, появляющемся после этой команды (рис. 4.4).
В окне New в данном случае нужно выбрать
Далее можно использовать кнопки New file или Wizard. Если выбрать кнопку Wizard - будут предложены готовые американские образцы баз данных -
Для примера на рис. 4.5 приведена схема базы данных, полученная с помощью Wizard для образца Students and Classes.
Как видно из примера, база данных слишком специфична, не совсем соответствует структуре нашего высшего учебного заведения, используется слишком много не совсем привычных для нас английских терминов, очень много индексов (каждый индекс дублирует информацию полей таблиц, при чрезмерно большом их количестве размер индексного файла может получиться больше, чем размер таблицы, что нерационально). Проще создать новую базу данных, соответствующую разработанной нами ранее модели.
(рис 4.5) Образец базы данных, полученный с использованием Wizard
Выберем кнопку New file для создания собственной
(рис 4.6) Диалог для сохранения базы данных на диске
После нажатия на кнопку Save (Сохранить) будут созданы файлы
Поместив курсор мыши в окно Database Designer, щелкнем в нем правой кнопкой мыши и в контекстном меню выберем команду New table:.
Далее выбираем New table, а не Wizard, который нам опять предложил бы американские образцы таблиц за основу, выбираем папку и задаем имя главной таблицы базы - Spisok, после чего открывается окно описания структуры таблицы
(рис 4.7) Окно Конструктора базы данных
(рис 4.8) Окно Command системы VFP
(рис 4.9) Окно Конструктора таблиц
В окне Table Designer описываем все поля таблицы Spisok.dbf - имя поля ( Name ), тип ( Type ), ширину ( Width ), количество десятичных знаков для действительных чисел ( Decimal ), наличие простого индекса (Index) и задаем заголовок поля таблицы ( Caption ). Имена полей лучше писать латинскими буквами.
Для индекса NZ на странице Indexes окна Table Designer следует задать тип индекса - Primary (первичный), т.к. номер зачетки - уникальный для каждого студента, однозначно его идентифицирует и поэтому может служить первичным ключом (в таблице обозначения A (Ascending) - индекс в порядке возрастания, P (Primary).
Структура главной таблицы
Для таблицы, входящей в состав
Задание заголовков ( Caption ) для полей при описании структуры таблицы облегчает разработку экранных форм и отчетов - эти названия появятся как подписи для полей (если Caption отсутствует, подписью будет имя поля).
| Name | Type | Width | Decimal | Index | Caption |
|---|---|---|---|---|---|
| Nz | C | 7 | A,P | Номер зачетки | |
| Fio | C | 45 | Фамилия, имя, отчество | ||
| data_p | D | 8 | Дата поступления | ||
| n_fclt | N | 2 | A | Факультет | |
| n_spect | C | 7 | A | Специальность | |
| kurs | N | 1 | Курс | ||
| n_grup | С | 10 | Группа | ||
| n_pasp | С | 10 | Номер паспорта |
Далее создаем следующую таблицу в базе - справочник факультетов с именем файла Fclt.dbf. Для этого следует снова поместить курсор на пустое место окна Database Designer, щелкнуть правой кнопкой мыши и в контекстном меню выбрать команду New table. В окне Table Designer описываем структуру таблицы (табл. 4.4).
| Name | Type | Width | Decimal | Index | Caption |
|---|---|---|---|---|---|
| n_fclt | N | 2 | A,P | Номер факультета | |
| name_f | C | 120 | Название факультета |
Название ключевого поля справочника, его тип и ширину желательно оставить такими же, как и в главной таблице, для облегчения установления связей при разработке экранных форм и отчетов с помощью Мастера.
Точно так же создаем в базе данных следующие таблицы и индексы для табл. 4.5, табл. 4.6, табл. 4.7.
| Name | Type | Width | Decimal | Index | Caption |
|---|---|---|---|---|---|
| n_spect | C | 7 | A,P | Код специальности | |
| name_s | C | 120 | Название специальности |
| Name | Type | Width | Decimal | Index | Caption |
|---|---|---|---|---|---|
| nz | C | 7 | A | Номер зачетки | |
| semestr | N | 1 | Семестр | ||
| n_predm | N | 2 | A | Предмет | |
| ball | С | 1 | Оценка | ||
| data_b | D | 8 | Дата | ||
| prepod | C | 45 | Преподаватель |
| Name | Type | Width | Decimal | Index | Caption |
|---|---|---|---|---|---|
| n_predm | N | 2 | A,P | Номер предмета | |
| name_p | С | 120 | Название предмета |
Далее в окне
(рис 4.10) Окно базы данных STUDENTS
Для связей можно задать условия соблюдения ссылочной целостности:
(рис 4.11) Задание условий соблюдения ссылочной целостности
В системе
Существует много разных способов открыть окно таблицы
После вариантов 1-4 в окне Command мы увидим 2 или 3 команды (вторая может отсутствовать), например, для табл. 4.4, следующие:
USE c:\asg\students\fclt.dbf IN 0 EXCLUSIVE - открыть таблицу в первой свободной рабочей зоне с алиасом (псевдонимом) FCLT эксклюзивно;
SELECT FCLT - выбрать рабочую зону с алиасом FCLT;
BROWSE LAST - показать на экране таблицу в той же конфигурации, как ранее (если в структуре таблицы добавлены новые поля или ранее был задан показ не всех полей, а нужно показать все, следует написать команду BROWSE NORMAL).
В результате будет открыто окно таблицы
(рис 4.12) Стандартный режим Browse работы с таблицей
Выбрав режимы Browse и Append mode (в меню у этих пунктов появится галочка), мы сможем занести новые записи в таблицы нашей базы.
Окно Browse имеет очень много возможностей, которые используются при программировании (см. полный синтаксис команды Browse в приложении). Поля таблиц на экране можно менять местами, изменять их ширину и пр. В диалоговом режиме
Окно Browse можно разделить на 2 части. Одна из них может быть в режиме Browse, другая - Edit, что удобно при работе с таблицами, имеющими большое количество полей. Можно изменять расположение и ширину полей.
Назначение узкой белой колонки слева от полей таблицы - пометить запись для удаления. Помеченная запись может быть видна с черной отметкой в этой колонке ( set delete off ) или не видна и как бы отсутствует ( set delete on ). Помеченные записи можно удалить из файла таблицы (командой Pack ), но эта операция связана с переписыванием информации из одного файла в другой, может выполняться только в эксклюзивном режиме открытия таблицы, поэтому выполняется нечасто и обычно не простым пользователем, а администратором базы или программистом.
Режим Edit для той же таблицы показан на рис. 4.13.
В таблице 3-я запись помечена для удаления. Отметку легко снять, повторно щелкнув по черной полоске слева от записи. Она видна, если параметр системы SET DELETED имеет значение OFF.
(рис 4.13) Стандартный режим Edit работы с таблицей
(рис 4.14) Стандартный режим с разделением окна на 2 части
Возможен показ таблицы с разделением ее на 2 части, одна из которых будет в режиме Browse, другая - в режиме Edit (рис. 4.14).
Режим сохранения добавленных, измененных и удаленных данных зависит от того, используется или нет буферизация данных. Изменить режим можно в свойствах рабочей зоны (Properties для выбранной таблицы в меню или в окне Data Session), окно описания свойств показано на рис. 4.15
(рис 4.15) Окно свойств рабочей зоны, в которой открыта таблица Fclt.dbf
Если режим буферизации не задан, сохранение информации происходит сразу при выходе из поля редактирования или закрытии таблицы.
В режиме буферизации изменения заносятся в таблицу только в том случае, если перед ее закрытием дана команда =TABLEUPDATE(.T.).
Буферизация бывает оптимистическая (Lock records when written) и пессимистическая (Lock records when edited), на уровне одной записи (Buffer current record) или многих (Buffer all edited records).
Правильное использование режимов буферизации имеет большое значение при многопользовательском режиме работы с одной таблицей
Более подробные сведения о многопользовательской работе и использовании режимов буферизации можно найти в справочной системе
Особенность
(рис 4.16) Работа с таблицами, между которыми установлена связь
Для разрабатываемой информационной системы следует занести в стандартном режиме работы с таблицами информацию в справочники - таблицы табл. 4.4, табл. 4.5 и табл. 4.7. Список студентов и список их оценок лучше заполнять с использованием экранной формы, которая будет создана далее.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.