Каждое окно должно иметь некоторую центральную тему, которой подчиняется его композиция. Пользователь должен понимать, для чего предназначено данное окно и что в нем наиболее важно. При этом недопустимо перегружать окно большим числом органов управления, ввода и отображения информации. В окне должно отображаться главное, а все детали и дополнительную информацию можно отнести на вспомогательные окна. Для этого полезно вводить в окно кнопки с надписью Больше..., многоточие в которой показывает, что при нажатии этой кнопки откроется вспомогательное окно с дополнительной информацией.
Помогают также разгрузить окно многостраничные компоненты с закладками. Они дают возможность пользователю легко переключаться между разными по тематике страницами, на каждой из которых имеется необходимый минимум информации.
Еще один принцип, которого надо придерживаться при проектировании окон — стилистическое единство всех окон в приложении. Недопустимо, чтобы сходные по функциям органы управления в разных окнах назывались по-разному или размещались в разных местах окон. Все это мешает работе с приложением, отвлекает пользователя, заставляет его думать не о сущности работы, а о том, как приспособиться к тому или иному окну.
При проектировании приложения важно правильно определить последовательность табуляции оконных компонентов. Под этим понимается последовательность, в которой переключается фокус с компонента на компонент, когда пользователь нажимает клавишу табуляции Tab. Это важно, поскольку в ряде случаев пользователю удобнее работать не с мышью, а с клавиатурой. Пусть, например, вводя данные о каком-то сотруднике, пользователь должен в отдельных окнах редактирования указать фамилию, имя и отчество. Конечно, набрав фамилию, ему удобнее нажать клавишу Tab и набирать имя, а потом опять, нажав Tab, набирать отчество, чем каждый раз отрываться от клавиатуры, хватать мышь и переключаться в новое окно редактирования.
Приложение должно предельно облегчать работу пользователя, снабжая его системой подсказок, помогающих сориентироваться в приложении. Эта система включает в себя:
· Ярлычки, которые всплывают, когда пользователь задержит курсор мыши над каким-то элементом окна приложения. В частности, такими ярлычками обязательно должны снабжаться быстрые кнопки инструментальных панелей, поскольку нанесенные на них пиктограммы часто не настолько выразительны, чтобы пользователь без дополнительной подсказки мог понять их назначение.
· Более развернутые подсказки в панели состояния или в другом отведенном под это месте экрана, которые появляются при перемещении курсора мыши в ту или иную область окна приложения.
· Встроенную систему контекстно-зависимой оперативной справки, вызываемую по клавише F1.
· Раздел меню Справка, позволяющий пользователю открыть стандартный файл справки Windows.hlp, содержащий в виде гипертекста развернутую информацию по интересующим пользователя вопросам.
При работе программы могут возникать различного рода ошибки: переполнение, деление на нуль, попытка открыть несуществующий файл и т.п. При возникновении таких исключительных ситуаций программа генерирует так называемое исключение я выполнение дальнейших вычислений в данном блоке прекращается. Исключение — это объект специального вида, характеризующий возникшую в программе исключительную ситуацию. Он может также содержать в виде параметров некоторую уточняющую информацию. Особенностью исключений является то, что это сугубо временные объекты. Как только они обработаны каким-то обработчиком, они разрушаются.
Программист должен принять все мыслимые меры, чтобы ни при каких ошибках пользователя и ни при каких сочетаниях данных приложение не заканчивалось бы аварийно. Но если все-таки аварийное завершение происходит, необходима полная зачистка «мусора» — удаление временных файлов, освобождение памяти, разрыв связей с базами данных и т.д.
Данный программный продукт имеет шесть таблиц БД.
Таблица 2.1 Владельцы - vladelec.dbf
Наименование поля | Тип | Размер | Назначение |
* Kod_vlad | Number | 5 | Код владельца |
Fam | Character | 20 | Фамилия |
Name | Character | 20 | Имя |
Oth | Character | 20 | Отчество |
Adres | Character | 20 | Адрес |
| Character | 30 | Адрес электронной почты |
Tel | Number | 20 | Номер телефон |
Sot | Number | 20 | Номер мобильного телефона |
Таблица 2.2 Менеджеры - sotrud.dbf
Наименование поля | Тип | Размер | Назначение |
* Kod_sot | Number | 3 | Код сотрудника |
Fam | Character | 20 | Фамилия |
Name | Character | 20 | Имя |
Oth | Character | 20 | Отчество |
Таблица 2.3 Автомобили - avto.dbf
Наименование поля | Тип | Размер | Назначение |
* Kod_avto | Number | 6 | Код автомобиля |
Kod_vlad | Number | 5 | Код владельца |
Kod_Marka | Number | 6 | Код марки |
Model | Character | 20 | Модель автомобиля |
V | Character | 5 | Объем двигателя |
Gos_nom | Character | 8 | Государственный номер |
Cvet | Character | 20 | Цвет |
Tip_kuz | Character | 20 | Тип кузова |
Foto_1 | Character | 20 | Фотография 1 |
Foto_2 | Character | 20 | Фотография 2 |
Cena | Number | 10 | Цена |
Таблица 2.4 Регистрация - avto_in.dbf
Наименование поля | Тип | Размер | Назначение |
* Kod_in | Number | 6 | Регистрационный номер |
Akt_nom | Number | 6 | Номер акта |
Kod_avto | Number | 6 | Код автомобиля |
Kod_vlad | Number | 6 | Код владельца |
Kod_sot | Number | 6 | Код менеджера |
Data | Date | Дата регистрации |
Таблица 2.5 Комплектность - komplect.dbf
Наименование поля | Тип | Размер | Назначение |
Kod_avto | Number | 6 | Код автомобиля |
Koleso | Character | 15 | Оформление колес |
Zapaska | Logical | Наличие запасного колеса | |
Instrument | Logical | Наличие инструмента | |
Music | Logical | Наличие магнитолы | |
Medic | Logical | Наличие аптечки | |
Elect_pak | Logical | Наличие электропакета | |
ABS | Logical | Наличие АБС | |
GUR | Logical | Наличие гидроусилителя рулевого колеса | |
Kondic | Logical | Наличие кондиционера | |
Korobka | Character | 15 | Тип КПП |
Privod | Character | 15 | Вид привода |
Info | Memo | Дополнительная информация | |
Defekt | Memo | Описание дефектов |
Таблица 2.6 Продажа - avto_out.dbf
Наименование поля | Тип | Размер | Назначение |
* Kod_out | Number | 6 | Код продажи |
Data | Date | Дата продажи | |
Marka_out | Number | 6 | Код марки |
Model_out | Character | 20 | Модель автомобиля |
V_out | Character | 5 | Объем двигателя |
Cvet_out | Character | 20 | Цвет |
Tipkuz_out | Character | 20 | Тип кузова |
Cena | Number | 10 | Цена |
Таблица 2.7 Марки автомобилей - marka.dbf