Всё для программирования C++ Builder

Информация всей БД сервера InterBase хранится в одном файле с расширением gdb, размер которого может занимать как один, так и десятки гигабайт. Аналогичный размер БД имеет СУБД Microsoft SQL Server. Если взять более мощные СУБД Oracle или SyBase, то размер их БД может достигать десятки, а то и сотни гигабайт.

Среда разработки C++ Builder обеспечивает разработку приложений совершенно для любых серверов и предоставляет все необходимые средства. Для программирования и разработки приложений, работающие с удалёнными БД, можно использовать следующие компоненты:
- DataSource – источник данных;
- Table, SQLTable, ADOTable, IBTable, Query, SQLQuery и ADOQuery – наборы данных;
- DBGrid – сетка набора данных.

Технология ADO (ADOCommand, ADOTable, ADOQuery, ADODataSet и ADOStoredProc) проста в использовании при получении компонентами доступа к данным, а установление соединения с БД осуществляется несколькими способами: компонентом ADOConnection или свойством ConnectionString.

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

Если проектируется окно, размеры которого пользователь может изменять во время выполнения приложения, то необходимо принять меры, чтобы компоненты в окне при этом тоже изменяли свои размеры или местоположение, равномерно распределяясь по площади окна и не оставляя пустых мест.
Пусть, например, проектируя форму, окно которой содержит панель Panel1, на которой будут размещаться какие-то управляющие компоненты и список ListBox1, панель Panel2, в середине которой будет размещаться некоторая надпись в метке StaticText1, и компонент Memo1, в котором будут редактироваться тексты. Если, разместив все это на форме и не приняв мер для того, чтобы при изменении размеров окна компоненты изменялись, то при том размере формы, который проектировалось, все будет выглядеть нормально. Но если пользователь растянет размеры формы, надеясь увеличить площадь редактирования и длину списка, то приложение приобретет нелепый вид. Увеличение формы просто приводит к увеличению на ней пустого места.

Приложение должно предельно облегчать работу пользователя, снабжая его системой подсказок, помогающих сориентироваться в приложении. Эта система включает в себя:
- Ярлычки, которые, всплывают, когда пользователь задержит курсор мыши над каким-то элементом окна приложения. В частности, такими ярлычками обязательно должны снабжаться быстрые кнопки инструментальных панелей, поскольку нанесенные на них пиктограммы часто не настолько выразительны, чтобы пользователь без дополнительной подсказки мог понять их назначение.
- Кнопка справки в полосе заголовка окна, позволяющая пользователю посмотреть во всплывающих окнах назначение различных элементов окна.
- Более развернутые подсказки в панели состояния или в другом отведенном под это месте экрана, которые появляются при перемещении курсора мыши в ту или иную область окна приложения.
- Встроенную систему контекстно-зависимой оперативной справки, вызываемую по клавише F1.
- Раздел меню Справка, позволяющий пользователю открыть стандартный файл справки Windows .hlp, содержащий в виде гипертекста развернутую информацию по интересующим пользователя вопросам.

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

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