Russian Belarusian English German Japanese Ukrainian

Типы

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

AnsiString

Описание

В C++Builder тип строк AnsiString реализован как класс, объявленный в файле vcl/dstring.h и аналогичный типу длинных строк в Delphi - это строки с нулевым символом в конце. При объявлении переменные типа AnsiString инициализируются пустыми строками.
Для AnsiString определены операции отношения ==, !=, >, <, >=, <=. Сравнение производится с учетом регистра. Сравниваются коды символов, начиная с первого, и если очередные символы не одинаковы, строка, содержащая символ с меньшим кодом считается меньше. Если все символы совпали, но одна строка длиннее и в ней имеются еще символы, то она считается больше, чем более короткая.
Для AnsiString определены операции присваивания =, += и операция склеивания строк (конкатенации) +. Определена также операция индексации []. Индексы начинаются с 1. Например, если S1 - "Привет", то S1[1] вернет 'П', S1[2] вернет 'р' и т.д.

Основные методы класса AnsiString (в описаниях методов через S1 обозначена строка, метод которой используется):
Метод Синтаксис / Описание
AnsiCompare int __fastcall AnsiCompare(const AnsiString& rhs) const

Сравнивает данную строку S1 с rhs с учетом регистра. Сравнение зависит от текущих установок Windows и может отличаться от сравнения, осуществляемого операциями сравнения. Возвращает значение > 0 при S1 > rhs, значение < 0 при S1 < rhs и значение 0 при S1 = rhs
AnsiCompareIC int __fastcall AnsiCompareIC(const AnsiString& rhs) const

Осуществляет сравнение, аналогичное AnsiCompare, но без учета регистра
AnsiLastChar char* __fastcallAnsiLastChar() const

Возвращает указатель на последний значащий символ. Поддерживает многобайтные символы
AnsiPos int __fastcall AnsiPos(const AnsiString& subStr) const

Возвращает индекс первого символа первого вхождения subStr в S1. Индексы начинаются с 1. Если subStr не содержится в S1, возвращается 0. В отличие от Pos поддерживает 1 многобайтные символы
c_str char* __fastcallc_str()const

Возвращает указатель на строку с нулевым символом в конце, содержащую те же символы, что в AnsiString
CurrToStr static AnsiString __fastcall CurrToStr(Currency value)

Преобразует значение value типа Currency в строку
CurrToStrF static AnsiString __fastcall CurrToStrF(Currency value,
TstringFloatFormat format, int digits)

Преобразует значение value типа Currency в строку, используя указанный формат преобразования чисел с плавающей запятой. Параметр определяет задаваемое число разрядов. Функция соответствует функции CurrToStrF с заданной точностью 19 разрядов
Delete void __fastcall Delete(int index, int count)

Удаляет из строки, начиная с позиции index число символов, равное count
FloatToStrF static AnsiString __fastcall FloatToStrF(long double value,
TStringFloatFormat format, int precision, int digits)

Преобразует значение value с плавающей запятой в строку, используя указанный формат. Параметры precision и digits задают точность и число разрядов. Точность должна задаваться не более 7 для типа float, не более 15 для double и не более 18 для Extended. Число разрядов зависит от выбранного формата
Format static AnsiString __fastcall Format(const AnsiString& format,
const TVarRec *args, int size)

Формирует строку, используя строку формата format и массив аргументов args
FormatFloat static AnsiString __fastcall FormatFloat(const ArisiString& format, const long double& value)

Преобразует значение value с плавающей запятой в строку, используя указанный формат format
Insert void __fastcall Insert(const AnsiString& str, int index)

Вставляет в строку подстроку str, начиная с индекса index
IntToHex static AnsiString __fastcall IntToHex(int value, int digits)

Преобразует значение value в строку, содержащую минимум digits шестнадцатеричных цифр
IsDelimiter bool __fastcall IsDelimiter(const AnsiString& delimiters, int index) const

Возвращает true, если символ с индексом index является одним из разделителей, указанных в строке delimiters. Работает и для многобайтных символов
IsEmpty bool __fastcall IsEmpty() const

Возвращает true, если строка пустая
Length int __fastcall Length() const

Возвращает число символов в строке
LowerCase AnsiString __fastcall LowerCase() const

Возвращает строку, в которой все символы приведены к нижнему регистру. Не влияет на исходную строку
Pos int __fastcall Pos(const AnsiString& subStr) const

Возвращает индекс первого символа первого вхождения subStr в S1. Индексы начинаются с 1. Если subStr не содержится в S1, возвращается 0. В отличие от AnsiPos не поддерживает многобайтные символы
SetLength void __fastcall SetLength(int newLength)

Усекает строку до newLength символов. Если исходная строка короче, то она не увеличивается
SubString AnsiString __fastcall SubString(int index, int count) const

Возвращает подстроку, начинающуюся с символа в позиции index и содержащую count символов
ToDouble double __fastcall ToDouble() const

Преобразует строку в число с плавающей запятой. Если строка не соответствует формату числа с плавающей запятой, генерируется исключение EConvertError
Tolnt int __fastcall ToInt() const

Преобразует строку в целое число. Если строка не соответствует формату целого числа, генерируется исключение EConvertError
ToIntDef int __fastcall ToIntDef(int defaultValue) const

Преобразует строку в целое число. Если строка не соответствует формату целого числа, возвращается значение по умолчанию defaultValue
Trim AnsiString __fastcall Trim() const

Возвращает строку, соответствующую исходной, но без пробельных символов до и после значащих символов
TrimLeft AnsiString __fastcall TrimLeft() const

Возвращает строку, соответствующую исходной, но без начальных пробельных символов
TrimRight AnsiString __fastcall TrimRight() const

Возвращает строку, соответствующую исходной, но без заключительных пробельных символов
Unique void __fastcall Unique()

Делает строку уникальной, т.е. устанавливает число ссылок на нее (refcnt) в 1. Таким образом, на нее ссылается только один объект
UpperCase AnsiString __fastcall UpperCase() const

Возвращает строку, в которой все символы приведены к верхнему регистру. Не влияет на исходную строку
WideChar wchar_t* __fastcall WideChar(wchar_t* dest, int destSize) const

Преобразует строку в массив символов dest типа wchar_t и возвращает указатель на этот массив
WideCharBufSize int __fastcall WideCharBufSize() const

Возвращает размер буфера, требуемого для функции WideChar

TBrush

Описание

Тип TBrush инкапсулирует структуру HBRUSH Winodws и используется для заполнения форм заданным цветом и стилем. TBrush используется во многих объектах, в частности, в свойстве канвы кисть Brush.
 
Иерархия

TObject - TPersistent - TGraphic&Object
 
Модуль

graphics.h
 
Свойства

Свойство Тип Описание
BitraaD TBitmap Указатель на внешнюю матрицу побитового отображения, используемую как шаблон заполнения.
Color TColor Цвет кисти.
По умолчанию - clWhite.
Handle HBRUSH Дескриптор кисти окна, определяющий доступ к дескриптору объекта GDI Windows.
Style TBrushStyle Определяет стиль заполнения окна.
 
Методы

В классе TBrush не введено каких-то принципиально новых методов. Переопределены такие общие методы как Assign, конструктор и деструктор. Остальные методы наследуются от классов-предков.
 
События

Класс TBrush наследует от класса TGraphicsObject событие OnChange, наступающее после изменения графического объекта. Обрабатывая его, графический объект должен учесть новые установки TBrush.
 
Пример

Операторы изменяют цвет и стиль заполнения объекта Image1->Canvas канвы компонента Image1:
Image1->Canvas->Brush->Style = bsCross;
Image1->Canvas->Brush->Color = clRed;
Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
Последний из приведенных операторов заполняет методом FillRect всю поверхность канвы.

TColor

Описание

Тип TColor используется для описания цвета объекта. Применяется в свойствах Color многих компонентов, в подсвойствах объекта типа TFont, при прорисовке изображений, в таблицах и т.д.
В модуле Graphics определено множество констант типа TColor. Одни из них непосредственно определяют цвета (например clBlue - синий), другие определяют цвета элементов окон, которые могут меняться в зависимости от выбранной пользователем палитры цветов Windows (например, clBtnFace - цвет поверхности кнопок). Вместо использования этих констант можно задавать TColor как 4-байтовое шестнадцатеричное число, три младших разряда которого представляют собой интенсивности синего, зеленого и красного цвета соответственно.
Если старший байт равен нулю (00), то берется ближайший к заданному цвет из системной палитры. Если старший байт равен единице (01), то берется ближайший к заданному цвет из текущей палитры. Если старший байт равен двум (02), то берется ближайший к заданному цвет из логической палитры контекста данного устройства.
 
Модуль

graphics.h
 
Определение

enum TColor {clMin=-0x7fffffff-1, clMax=0x7fffffff};

TFIoatValue

TFIoatValue указывает тип преобразуемого числа. Значение fvExtended соответствует обычному числу с плавающей запятой, а значение fvCurrency числу типа Currency.
 
Синтаксис

#include <SysUtils.hpp>
enum TFIoatValue (fvExtended, fvCurrency);
 
Описание

Тип TFloatFormat определяет коды форматирования чисел с плавающей запятой в функциях FloatToText, FloatToStrF, FloatToDecimal, TextToFloat. Возможные значения формата определяют следующие правила форматирования:
Значение Описание
ffGeneral Основной числовой формат. Число преобразуется по формату с фиксированной точкой или научному в зависимости от того, какой из них оказывается короче. Начальные нули удаляются, десятичная точка ставится только при необходимости. Фиксированный формат используется, если число разрядов слева от точки не больше указанной точности Precision и если значение не меньше 0.00001. В противном случае используется научный формат, в котором параметр Digits определяет число разрядов степени от 0 до 4.
ffExponent Научный формат. Число преобразуется в строку вида «-d.ddd...E+dddd» . Общее число цифр, включая одну перед десятичной точкой, задается параметром Precision. После символа «Е» всегда следует знак "+" или "-" и до четырех цифр. Параметр Digits определяет минимальное число разрядов степени от 0 до 4.
ffFixed Формат с фиксированной точкой. Число преобразуется в строку вида «-ddd.ddd...». По крайней мере одна цифра всегда предшествует десятичной точке. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18. Если число разрядов слева от десятичной точки больше указанного параметром Precision, то используется научный формат.
ffNumber Числовой формат. Число преобразуется в строку вида «-d,ddd,ddd.ddd...». Данный формат совпадает с ffFixed за исключением наличия в нем разделителей тысяч.
ffCurrency Монетарный формат. Число преобразуется в строку, отображающую денежную сумму. Формат контролируется глобальными переменными CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, задаваемыми для монетарного формата разделом Currency Format элемента International Контрольной панели Windows. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18.
Для всех форматов действительные символы, используемые в качестве десятичной точки и разделителя тысяч определяются глобальными переменными DecimalSeparator и ThousandSeparator.

TFloatFormat

Тип TFloatFormat определяет форматирование действительных чисел в таких функциях, как FloatToText, FloatToStrF, FloatToDecimal, TextToFloat.
 
Синтаксис

#include <SysUtils.hpp>
enum TFloatFormat (ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency);
 
Описание

Тип TFloatFormat определяет коды форматирования чисел с плавающей запятой в функциях FloatToText, FloatToStrF, FloatToDecimal, TextToFloat. Возможные значения формата определяют следующие правила форматирования:
Значение Описание
ffGeneral Основной числовой формат. Число преобразуется по формату с фиксированной точкой или научному в зависимости от того, какой из них оказывается короче. Начальные нули удаляются, десятичная точка ставится только при необходимости. Фиксированный формат используется, если число разрядов слева от точки не больше указанной точности Precision и если значение не меньше 0.00001. В противном случае используется научный формат, в котором параметр Digits определяет число разрядов степени от 0 до 4.
ffExponent Научный формат. Число преобразуется в строку вида «-d.ddd...E+dddd» . Общее число цифр, включая одну перед десятичной точкой, задается параметром Precision. После символа «Е» всегда следует знак "+" или "-" и до четырех цифр. Параметр Digits определяет минимальное число разрядов степени от 0 до 4.
ffFixed Формат с фиксированной точкой. Число преобразуется в строку вида «-ddd.ddd...». По крайней мере одна цифра всегда предшествует десятичной точке. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18. Если число разрядов слева от десятичной точки больше указанного параметром Precision, то используется научный формат.
ffNumber Числовой формат. Число преобразуется в строку вида «-d,ddd,ddd.ddd...». Данный формат совпадает с ffFixed за исключением наличия в нем разделителей тысяч.
ffCurrency Монетарный формат. Число преобразуется в строку, отображающую денежную сумму. Формат контролируется глобальными переменными CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, задаваемыми для монетарного формата разделом Currency Format элемента International Контрольной панели Windows. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18.
Для всех форматов действительные символы, используемые в качестве десятичной точки и разделителя тысяч определяются глобальными переменными DecimalSeparator и ThousandSeparator.

TFont

Описание

Объект типа TFont определяет множество характеристик, описывающих шрифт, используемый при отображении текстов высоту шрифта, его имя, атрибуты (полужирный, курсив) и т.д. Используется в свойстве Font.
Основное свойство объекта название шрифта Name. Если используется шрифт с несколькими наборами символов, то надо правильно установить свойство Charset - набор символов.
Если заданная комбинация свойств Name, CharSet, Pitch, Size определяет шрифт, отсутствующий в системе, Windows подберет другой близкий шрифт.
При создании объекта TFont он инициализируется следующими значениями свойств:
Color = clWindowText, Name = MS Sans Serif, Size равным 8, Pitch = fpDefault, CharSet = DEFAULT_CHARSET. Автоматически устанавливается значение PixelsPerInch.
 
Иерархия

TObject - TPersistent - TGraphicsObject
 
Модуль

graphics.h
 
Свойства

Свойство Тип Описание
Charset TFontCharset Определяет, набор символов шрифта.
Color TColor Определяет цвет текста.
FontAdapter _di_IChangeNotifier Интерфейс для передачи информации о шрифте в элементы ActiveX.
Handle HFONT Дескриптор шрифта, используемый как параметр функций API Windows, требующих обработки шрифтов. Применяется только в специальных случаях.
Height int Характеризует высоту шрифта в пикселах.
Name System::AnsiString Вид (имя) шрифта.
Pitch enumTFontPitch{ fpDefault, fpVariab­le, fpFixed } Определяет способ установки ширины символов.
PixelsPerlnch int Число пикселов принтера или экрана на дюйм. Используется при копировании шрифта с канвы формы на принтер, чтобы обеспечить соответствие размеров шрифта на экране и принтере. Влияет только на печать. Изменяться пользователем не должно.
Size int Размер шрифта в кеглях (пунктах)
Style enum TFontStyle { fsBold, fsltalic, fsUnderline, fsStrikeOut } Стиль шрифта - множество свойств: полужирный, курсив, подчеркнутый, перечеркнутый.
 
Методы

Метод Описание
Assing Копирование свойств одного объекта типа TFont в другой объект. Свойство PixelsPerlnch методом Assign не копируется. Поэтому метод можно использовать для копирования экранных шрифтов в шрифты принтера и наоборот.
 
События

TFont наследует событие OnChange от базового класса TGraphicsObfeet.

TMessage

Является типом параметра, характеризующего сообщения Windows и передаваемого в метод WndProc.
 
Объявление

Messages
struct TMessage
{
Cardinal Msg;
union
{
struct
{
Word WParamLo;
Word WParamHi;
Word LParamLo;
Word LParamHi;
Word ResultLo;
Word ResultHi;
};
}
}
 
В С++ отдается предпочтение использованию именованных переменных типа const, а не символических констант. Константные переменные являются данными определенного типа и их имена видны отладчику. А если используется символическая константа, то после того, как символическая константа была заменена на соответствующий текст, только этот текст и будет виден отладчику. Правда, недостатком переменных типа const является то, что им требуется память в объеме, соответствующем их типу, для хранения своего значения, тогда как для символических констант не требуется никакой дополнительной памяти.
Ниже приведены примеры определения с помощью директивы #define символических констант:
// определение строки текста:
#define Anyk "Нажмите любую клавишу"
// идентификатор Delete в тексте просто удалится:
#define Delete
// определение директивы #include:
#define GETSTD #include <stdio.h>

TPoint

Описание

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

Windows.cpp
 
Определение

struct TPoint
{
int x;
int у;
};

TRect

Описание

Координаты задаются и как четыре целых числа, определяющих координаты в пикселах левой, верхней, правой и нижней сторон прямоугольника, и как две точки типа TPoint, представляющие собой координаты левого верхнего и правого нижнего углов. Началом координат обычно считается левый верхний угол экрана или окна.
Для типа определены функции-элементы Width() и Height(), возвращающие соответственно ширину и высоту. Определены также операции "==" и "!=".
Задавать значения переменной типа TRect удобно функцией Rect, задающей координаты левой, верхней, правой и нижней границ Left, Top, Right, Bottom, или функцией Bounds, задающей координаты левого верхнего угла Left и Тор, ширину прямоугольника AWidth и его высоту AHeight.
 
Модуль

Windows.cpp
 
Определение

struct TRect
{
int Left;
int Top;
int Right;
int Bottom;
};

TStringFloatFormat

Описание

Тип TStringFloatFormat определяет формат представления чисел строкой.
 
Модуль

Windows
 
Определение

enum TStringFloatFormat{ sffGeneral, sffExp6hent, sffFixed, sffNumber, sffCurrency };
 
Форматы

Значение Описание
sffGeneral Значение преобразуется в наиболее компактное из двух форматов: с фиксированной точкой или научного формата. Младшие нулевые разряды усекаются. Десятичная точка появляется только при необходимости. Формат с фиксированной точкой используется только при числе цифр целой части большем не больше указанной точности и при значениях не меньше 0.00001. В остальных случаях используется научный формат с минимальным числом цифр в степени порядка (от 0 до 4).
sffExponent Научный формат. Значение преобразуется в строку вида «-d.ddd...E+dddd». Символ - записывается только для отрицательных чисел. Перед десятичной точкой записывается всегда одна цифра. Общее число цифр (включая цифру перед точкой) определяется заданной точностью. После символа E всегда ставится знак + или -. Число цифр в степени (порядок числа) лежит в пределах от 0 до 4.
sffFixed Формат с фиксированной точкой. Значение преобразуется в строку вида «-ddd.ddd...». Символ - записывается только для отрицательных чисел. Перед десятичной точкой записывается по крайней мере одна цифра. Число цифр после точки определяется заданным числом разрядов от 0 до 18. Если число цифр слева от точки должно быть больше заданной точности, используется научный формат.
sffNumber Числовой формат. Значение преобразуется в строку вида «-d,ddd,ddd.ddd...». Совпадает с форматом sffFixed за исключением наличия разделителей после каждых трех разрядов в целой части.
sffCurrency Монетарный формат для представления чисел, отображающих денежные суммы. Определяется установками Windows (глобальными переменными CurrencyString, CnrrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator). Число цифр после десятичной точки определяется заданным числом разрядов от 0 до 18.
Для всех форматов действительные символы, используемые в качестве десятичной точки и разделителя тысяч определяются глобальными переменными DecimalSeparator и ThousandSeparator.
  • 1
  • 2