| Pic | Указывает на строку шаблона, задающую формат
данных в соответствующем редактируемом управляющем элементе. |
| Max | Максимально допустимое для редактируемого управляющего элемента значение. |
| Min | Минимально допустимое значение. |
| enum TEllipse | Определяет константу Ellipse, используемую тото, чтобы отличить конструктор эллипса от
конструктора копирования прямоугольника. |
| Dispatcher | Абстрактный тип диспетчера, указывающий на одну из функций диспетчера. |
| Id | Содержит ресурс меню или оперативной клавиши
для функции реакции на сообщения. |
| Msg | Содержит идентификатор сообщения. |
| NotifyCode | Содержит код уведомления для записи таблицы
реакции (код кнопки, комбинированного элемента, редактируемого управляющего элемента или блока списка). |
| Pmf | Указывает на обработчик сообщения или функцию-элемент. |
| T | Тип общей функции-элемента, отвечающей на уведомляющие сообщения. |
| LineMagnitude | Это число единиц диапазона для прокрутки на
небольшую величину при щелчке "мышью" на стрелке полосы прокрутки. |
| PageMagnitude | Число единиц диапазона для прокрутки полосы
при большом перемещении (щелчок "мышью" на областях полосы прокрутки). |
| HighValue | Содержит максимальное значение позиции скользящего маркера полосы прокрутки. |
| LowValue | Содержит минимальное значение позиции скользящего маркера полосы прокрутки. |
| Position | Содержит позицию скользящего маркера. |
| AutoMode | В случае значения True активизируется автоматическая прокрутка. |
| AutoOrg | В случае True прокрутка смещается относительно
начала. |
| HasHScrollBar | В случае значения True элемент прокрутки имеет
горизонтальную прокрутку. |
| HasVScrollBar | В случае значения True элемент прокрутки имеет
вертикальную прокрутку. |
| TrackMode | Имеет значение True при активизации слежения. |
| Window | Указывает на окно, с клиентной областью которого должен работать элемент прокрутки. |
| XLine, YLine | Задает число логических единиц устройства на
строку для прокрутки прямоугольника в горизонтальном и вертикальном направлениях. |
| XPage, YPage | Задает число логических единиц устройства на
страницу для прокрутки прямоугольника в горизонтальном и вертикальном направлениях. |
| XPos,YPos | Задает текущую позицию прямоугольника в горизонтальных и вертикальных единицах прокрутки?. |
| XRange,YRange | Задает число горизонтальных и вертикальных
единиц прокрутки. |
| XUnit,YUnit | Задает величину прокрутки прямоугольника в горизонтальном и вертикальном направлениях. |
| BkColor | Значение фонового цвета скользящего маркера. |
| CaretRect | Позиция прямоугольника активного окна. |
| Max | Максимальное значение позиции скользящего маркера. |
| Min | Минимальное значение позиции скользящего маркера. |
| MouseOffset | Используется при перемещении "мыши" вниз и
движении маркера. |
| Pos | Указывает, где позиционирован скользящий маркер. |
| Range | Содержит разницу между максимальным и минимальным диапазоном скользящего маркера. |
| SlideDC | Используется при перемещении "мыши" вниз и
движении маркера. |
| Sliding | Имеет значение True при перемещении маркера. |
| SlotThick | Указывает толщину области перемещения маркера. |
| Snap | True, если действует ограничение позиции. |
| ThumbRect | Содержит ограничивающий прямоугольник скользящего маркера. |
| ThumbResId | Битовый массив для скользящего маркера. |
| ThumbRgn | Ссылка на область, которая определяет форму
скользящего маркера. |
| TicGap | Задает интервал между рисками в элементах изображения. |
| TextLen | Содержит размер текстового буфера для статических управляющих элементов. |
| operator= | Устанавливает код состояния и отбрасывает
исключительную ситуацию TXCompatibility. |
| operator | Возвращает код состояния. |
| TModeIndicator enum | Перечисляет программные режимы. По умолчанию
они упорядочиваются в строке состояния горизонтально слева направо. |
| BorserStyle | Один из перечислимых стилей обрамления индикаторов режима в строке состояния. |
| ModeIndicators | Это битовое поле указывает, какие индикаторы
режима создаются в строке состояния. |
| NumModeIndicators | Задает число индикаторов режима (от 1 до 5). |
| Spacing | Задает интервал между индикаторами в строке
состояния. |
| OpenMode | Содержит флаги режимов, используемых при открытии потоков документов. |
| StreamName | Содержит имя потока, использованного для открытия документов. |
| Doc | Содержит документ, являющийся владельцем потока. |
| NextStream | Указывает на следующий поток в списке открытых
потоков. |
| Strings | Указывает на набор строк, содержащих все допустимые строки (если задается NULL, то разрешаются все строки). |
| TAlign | Перечисляет атрибуты выравнивания текста. |
| Align | Атрибут выравнивания текста. |
| NumChars | Содержит число символов текста. |
| TextLen | Содержит длину текста. |
| Border | Тонкая рамка для разделителей. |
| CaptionHeight | Высота строки заголовка. |
| CaptionFont | Шрифт, используемый для текста в тонкой строке
заголовка. |
| CloseBox | В случае значения True окно будет закрываться
при щелчке "мышью" на блоке закрытия. |
| DownHit | Адрес точки нажатия кнопки "мыши" или перемещения курсора. |
| Frame | Фактические размеры строки заголовка. |
| isPressed | Имеет значение True при нажатии кнопки "мыши". |
| TCEnabled | Равно True, если выводится тонкая строка заголовка. |
| WaitingForSysCmd | Равно True, если TTinyCaption может принять
системные сообщения. |
| NumColumns | Содержит число столбцов в полосе инструментальных средств. |
| NumRows | Число строк. |
| Options | Битовый массив, используемый для управления
параметрами производных классов. По умолчанию все биты нулевые. |
| Property enum | Значения характеристик, определенные для TView
и доступные в производных классах. |
| Tag | Содержит указатель на определяемые приложением
данные. |
| Doc | Содержит текущий документ. |
| NotOK | Устанавливает отображаемый элемент в недопустимое состояние (IsOK будет возвращать 0). |
| Attr | Содержит структуру TWindowAttr с атрибутами
создания окна (стиль окна, расширенный стиль, позиция, размер, идентификатор меню, идентификатор дочернего окна и таблицу оперативных клавиш меню). |
| DefaultProc | Содержит адрес используемой по умолчанию оконной процедуры, которая вызывается для обработки сообщений Window, не обрабатываемых приложением. |
| HWindow | Содержит описатель соответствующего окна Windows. |
| Parent | Указывает на интерфейсный объект, который используется в качестве родительского окна. |
| Scroller | Указывает на интерфейсный объект - элемент
прокрутки окна. |
| Status | Сигнализирует об ошибке при инициализации интерфейсного объекта. |
| Title | Указывает на заголовок окна. |
| CursorInstance | Содержит идентификатор библиотеки для заданного курсора. |
| CursorResId | Содержит идентификатор ресурса курсора для заданного курсора. |
| hAccel | Содержит описатель текущей таблицы акселераторов Windows. |
| hCursor | Содержит описатель курсора окна. |
| TransferBuffer | Указывает на буфер передачи данных в TWindow и
из него. |
| Window | Указывает на объект окна, связанный с данной
исключительной ситуацией. |
| AccelTable | Содержит идентификатор ресурса для таблицы акселераторов окна. |
| ExStyle | Содержит расширенные значения стиля окна. |
| Id | Содержит идентификатор дочернего окна или
идентификатор ресурса для управляющего элемента диалогового окна. |
| Menu | Содержит идентификатор ресурса, представляющий
собой имя меню окна. |
| Param | Содержит значение, передаваемое окну при его
создании. |
| Style | Содержит значения, определяющие стиль, форму и
размер окна. |
| X,Y,W,H | Содержат координаты верхнего левого угла окна,
а также его ширину и высоту. |
| Wnd | Содержит описатель окна, владельцем которого
является данный DC. |
Графический экран представляет собой массив элементов изображения. Каждый элемент изображения соответствует одной (цветной)
точке на экране. Значение элемента изображения не задает точный
цвет этой точки напрямую; на самом деле это некоторый индекс таблицы цветов, называемой палитрой. Каждый элемент палитры, соответствующий данному значению элемента изображения, содержит точную информацию о цвете, которым будет отображен этот элемент
изображения.
Такая схема косвенных обращений имеет множество следствий.
Хотя аппаратное обеспечение может позволять отображение множества
цветов, одновременно на экране может находиться только некоторое
их подмножество. Количество одновременно находящихся на экране
цветов равно числу элементов палитры (размеру палитры). Например,
EGA позволяет наличие 64 цветов, но лишь 16 из них может находиться на экране сразу; таким образом, размер палитры EGA равен 16.
Размер палитры определяет диапазон значений, которые может
принимать элемент изображения, от 0 до (размер-1). Функция
getmaxcolor возвращает максимальное допустимое значение элемента
изображения (размер-1) для текущего графического драйвера и режима.
При обсуждении графических функций Borland C++ мы часто используем термин "цвет", например текущий цвет вычерчивания, цвет
заполнения и цвет элемента изображения. Фактически цветом мы
здесь называем значение элемента изображения: это некоторый индекс в палитре. Только палитра реально определяет фактический
цвет на экране. Манипулируя палитрой, вы можете изменять фактические цвета, выводимые на дисплей, даже хотя значения элементов
изображения (цвета вычерчивания, заполнения и т.д.) могут не изменяться.
Вообще, в классах могут объявляться элементы типа public,
private и protected (общие, приватные, и защищенные - детальные разъяснения смотрите в следующем разделе). Эти элементы могут быть другими объектами из других классов и функциями элементами:
Ключевое слово сlass
Имя класса (как правило, осмысленное)
v v
class shape {
private: // Ключевое слово private
Элемент > int init_flag; // Приватный элемент
данных protected: // Ключевое слово protected
Элементы > double xo, yo; // Защищенные элементы
данных public: // Ключевое слово public
Функции -> void init(double x, double y); // Общие
элементы -> double area(void); // элементы
};
Имя класса shape можно использовать точно так же, как и имя
обычного типа данных в Cи. Например, можно сделать следующее объявле-
ние для массивов:
shape Times[10]; // объявление массива shape из 10 элементов
Программа инсталляции Borland С++ устанавливает сам продукт
С++ (IDE, инструментальные средства режима командной строки, ObjectWindows, Turbo Debugger), а также Win32s (что позволяет выполнять 32-разрядные программы в 16-разрядной Windows). Программа
инсталляции работает под Windows, Win32s и Windows NT (однако под
Windows NT работают не все программы).
Перед инсталляцией нужно убедиться, что ваш компьютер отвечает требованиям к программному и аппаратному обеспечению. Чтобы
инсталлировать Borland С++ с дискет, сделайте следующее:
Вставьте диск 1 в дисковод A или B.
Запустите Windows и выберите в администраторе программ команду File Run.
Наберите a:\install или b:\install и нажмите Enter. Выводится диалоговое окно инсталляции. В нижней части этого окна вы увидите объем необходимого для полной установки
пространства на диске (Target Requirements), а также объем
доступного пространства на диске. Если используется компрессия диска, прочитайте файл INSTALL.TXT (возможно, вам
потребуется больше места).
Если вы хотите установить конкретные файлы, щелкните
"мышью" на кнопке Customize BC4.0 Installation. Выведется
другое диалоговое окно с описаниями и командными кнопками
для установки компонентов продукта. Щелкните "мышью" на
том компоненте, который хотите установить. Выводится дополнительное диалоговое окно, в котором вы можете отметить
файлы, не требующие установки. Щелкните на OK и повторите
этот процесс для всех необходимых компонентов. Щелчок
"мышью" на OK возвратит вас в первое окно установки.
Программа инсталляции перечисляет используемые по умолчанию каталоги, в которые она будет переписывать файлы. Если
вы хотите использовать другие каталоги, наберите другой
маршрут. Основным каталогом, в котором устанавливается
Borland С++, является C:\BC4, а рабочим - C:\BC4\BIN.
По умолчанию программа установки создает группу Windows, в
которую помещаются все пиктограммы Borland C++. Если вы не
хотите создавать группу, отмените Create Borland C++ Group.
Утилита MAKE создает самую последнюю версию вашей программы,
выполняя при этом следующие задачи:
Считывает специальный файл (называемый файлом описания,
формирующим файлом или файлом сборки), который был предварительно вами создан. Этот файл указывает утилите MAKE,
какие объектные файлы и библиотечные файлы должны быть
скомпонованы для того, чтобы создать выполняемый файл, а
также указывает, какие исходные файлы и файлы заголовков
должны компилироваться для создания каждого объектного
файла.
Проверяет время и дату создания каждого объектного файла
по отношению к времени и дате создания исходного файла и
файлов заголовков, от которых он зависит. Если какой-либо
из этих файлов является более новым, чем объектный файл,
утилита MAKE считает, что он был модифицирован, и что необходимо произвести перекомпиляцию исходного файла.
Вызывает компилятор для перекомпиляции исходного файла.
После того, как были проверены все зависимости объектных
файлов, дата и время создания каждого объектного файла
проверяется по отношению к дате и времени создания выполняемого файла.
Если какой-либо из объектных файлов оказывается более новым по сравнению с выполняемым файлом, утилита вызывает
компоновщик для его перекомпоновки.
Утилита MAKE полностью полагается на дату и время, которые
DOS присваивает каждому файлу. Это означает, что для нормальной
работы утилиты MAKE необходимо корректно устанавливать системные
дату и время.
Ниже приводится синтаксис вызова команды MAKE:
MAKE [параметр...][результат...]
Здесь "параметр" является параметром утилиты MAKE (они описываются далее), а "результат" представляет собой имя результирующего файла, который должен быть создан.
Ниже описываются синтаксические правила вызова утилиты MAKE:
За словом make должен следовать пробел, а затем список параметров утилиты make.
Каждый параметр утилиты MAKE должен отделяться от соседних
параметров пробелом. Параметры могут располагаться в любой
последовательности; может быть введено произвольное число
Каталог EXAMPLES\CLASSLIB\BIDS содержит несколько примеров
программ, использующих контейнерные классы:
| STRNGMAX | Пример программы работы со строками. |
| REVERSE | Промежуточные пример, использующий TStack (псевдоним TStackAsVector) и String. Этот пример позволяет пользователю вводить строки, а затем выводить их в обратном порядке. |
| LOOKUP | Промежуточный пример, использующий TDictionary-AHashTable и TDDAssociation. |
| QUEUETST | Промежуточный пример, использующий TQueue (псевдоним TQueueAsVector) и неирархический класс TTime. |
| DIRECTRY | Продвинутый пример, иллюстрирующий производные пользовательские классы, использующие TISArrayAsVector и исходные файлы FILEDATA.CPP и TESTDIR.CPP. |
Для отладки контейнеров Borland предусматривает специальные библиотеки.
Каталог SOURCE\CLASSLIB содержит исходные файлы, реализующие
многие функции-элементы библиотечных классов. Эти исходные файлы
могут вам потребоваться при построении библиотеки.
Библиотеки для классов контейнеров, построенных на базе шаблонов, отличаются по префиксу BIDS: это BIDSx.LIB, где x представляет модель памяти, и BIDSDBx.LIB для диагностических версий.
Поддержка классов контейнеров включает в себя каталоги, содержащие файлы заголовков, библиотеки, исходные файлы и примеры.
| BIDSF.LIB | 32-битовая (плоская модель). |
| BIDSDF.LIB | 32-битовая (плоская модель), диагн. версия. |
| BIDS40F.DLL | 32-битовая DLL (плоская модель). |
| BIDS40DF.DLL | 32-битовая DLL (плоская модель), диагностическая версия. |
| BIDSFI.LIB | 32-битовая библиотека импорта (плоская модель). |
| BIDSDFI.LIB | 32-битовая библиотека импорта (плоская модель), диагностическая версия. |
| BIDSS.LIB | 16-битовая малая модель. |
| BIDSDBS.LIB | 16-битовая малая модель, диагностическая версия. |
| BIDSC.LIB | 16-битовая, компактная модель. |
| BIDSDCC.LIB | 16-битовая, компактная модель, диагностическая версия. |
| BIDSL.LIB | 16-битовая, большая модель. |
| BIDSDBL.LIB | 16-битовая, большая модель, диагностическая версия. |
| BIDS40.DLL | 16-битовая DLL. |
| BIDS40D.DLL | 16-битовая DLL, диагностическая версия. |
| BIDSI.LIB | 16-битовая библиотека импорта. |
| BIDSI.LIB | 16-битовая библиотека импорта, диагностическая версия. |
Вложенный класс TXInvalidMainWindow описывает исключительную
ситуацию, вызываемую недопустимым окном. Эта ситуация возникает
при нехватки памяти для создания окна или объекта диалога. InitInstance дает эту ситуацию при невозможности инициализировать
объект приложения.
Если при приведении типа ссылки dynamic_cast завершается неуспешно, то выражение генерирует особую ситуацию Bad_cast (в случае указателя генерируется нулевой указатель).
Когда операнд typeid разыменовывается в нулевой указатель,
то операция typeid может генерировать Bad_typeid.
Конструкторы этого класса создают двоично-кодированные десятичные числа (BCD), от целых до чисел с плавающей точкой. С помощью описанной ниже функции real можно конвертировать числа bcd в long double.
После построения чисел bcd их можно использовать в выражения
совместно с другими типами и применять в стандартных математических функциях. Такие математические функции как abs, cos или sqrt для операций с bcd переопределяются. Переопределяются также операции +, -, *= , == и т.д. Числа bcd могут иметь точность до 17
разрядов и диапазон от 1*10^-125 до 1*10^125.
Этот производный из TGadget класс представляет собой простой
реквизит который может выводить одновременно массив растровых
изображений.
BitSet устанавливает или сбрасывает бит или битовую группу.
Этот класс можно использовать для установки и очистки флагов параметров и получения информации о состоянии бит.
Ниже показано как можно произвести класс box3d из shape:
class box3d : public rect {
public:
double depth; // Добавлена глубина
// Конструктор для создания трехмерного прямоугольного объекта
box3d(double x, double y, double w, double h, double d);
double area(void); // Подмена area() в классе rect
double vol(void); // Дополнение функцией вычисления объема
};
Ниже показано как нужно произвести класс circle из shape:
class circle : public shape {
public:
double radius; // Дополнительные данные: радиус круга
// конструктор circle
circle(double x, double y, double r);
double area(void); // Подменяет в классе shape функцию area()
};
Создает комплексные числа. Вы можете свободно использовать
эти числа в выражениях совместно с числами int, double и другими
числовыми типами, а также стандартными математическими функциями Си.
Класс complex переопределяет операции +, -, *, /, +=, -=,
*=, /=, == и !=. Для потокового ввода-вывода переопределяются
операции >> и <<.
Специализирует streambuf для обработки консольного вывода.
Обеспечивает потоки вывода на консоль. Этот класс является
производным от ostream и доступен только для приложений консольного режима.
Этот абстрактный класс TDC служит базовым классом для создаваемых или удаляемых объектов DC (контекст устройства). Он выполняет основную работу по созданию и удалению HDC с помощью CreateDC и DeleteDC.
Ниже показано как можно произвести класс cylinder из circle:
class cylinder : public circle {
public:
double ht; // Дополнительные данные: высота цилиндра
// Конструктор для цилиндра
cylinder(double x, double y, double r, double h);
double area(void); // Подмена в классе circle функции area()
double vol(void); // Дополнительная функция вычисления объема
};
Специализирует streambuf для ввода и вывода символов. Управляет выделением и удалением буфера, а также установкой позиции в
файле. Позволяет с помощью соответствующего конструктора или
функции-элемента использовать небуферизованный ввод-вывод. По
умолчанию файлы открываются в режиме openprot и допускают чтение
или запись. Этот класс обеспечивает только базовые средства для
ввода-вывода. Операции ввода-вывода выполняются с помощью функций
streambuf.
Простейший способ обеспечения включения в поле только допустимых данных состоит в обеспечении ввода пользователем только допустимых данных. Например, числовое поле ввода может быть ограничено вводом пользователем только цифровых данных.
Объект фильтра проверки допустимости ObjectWindows представляет общий механизм, ограничивающий вид символов, которые пользователь может вводить в данном управляющем элементе редактирования. TFilterValidator - это простой механизм проверки допустимости, проверяющий данные по мере ввода их пользователем. Его конструктор имеет только один параметр - набор допустимых символов.
TFilterValidator переопределяет IsValidInput таким образом,
чтобы она возвращала True, если все символы строки содержатся в
наборе допустимых символов. Редактируемый управляющий элемент
вставляет символы только в том случае, если IsValidInput возвращает True. Производные классы, такие как TRangeValidator, могут
комбинировать фильтрацию ввода с другими видами проверки допустимости строки.
Обеспечивает базовые операции, общие для всех потоков ввода-вывода объектного файла.
Этот потоковый класс является производным от fstreambase и
iostream и выполняет с помощью filebuf одновременный ввод и вывод.
Этот производный от ios класс обеспечивает общие для файловых потоков операции. Он используется в качестве базового для
fstream, ifstream и ofstream.
Обеспечивает базовый класс для чтения (извлечения) потоковых
объектов из потоков.
Этот производный от fsreambase потоковый класс обеспечивает
операции ввода через filebuf.