Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Дополнительные типы, реализуемые классами






С++Builder Delphi Тип
Set Set Множество 1-32 байт
String String Cтрока, подобная при работе строке Delphi
SmallString String[n] Короткие строки в Паскале длиной до 255 символов
AnsiString AnsiString Текстовая строка Delphi произвольной длины
Variant Variant Любое значение
TdateTime TDateTime Значение даты и времени в виде Float
Currency Currency Значение денежной величины

Рассмотрим отдельно эти типы.

Set реализуется шаблонным классом Set:

Set< < тип>, < мин.значение элемента множества>, < макс. значение(< =255) > >

Пример:

typedef Set < char, 'A', 'Z'> bolhiebukvi; // прописные латинские буквы

bolhiebukvi glasnie, soglasnie; // объявление множеств гласных и согласных

glasnie < < 'A'< < 'I'< < 'E'; // заполнение множества гласными буквами

soglasnie < < 'B'< < 'C'< < 'D'; // заполнение множества согласными буквами

// проверка принадлежности буквы ‘B’ принадлежности множеству glasnie

Label1-> Caption=glasnie.Contains('А')?»Да»:»Нет»; // вывод «Да»

String реализуется в виде: String < список имен>. Эти строки могут исполь­зоваться в привычных опера­циях сцепления (+) и срав­­нения строк (==).

Внимание! Отсчет символов начинается не с нуля, а с единицы

Пере­чис­лим основные методы (имя строки и метод раз­де­ляются точкой) работы с этими строками:

ToDouble/ToInt ‑ перевод строки в вещественное/целое число.

c_str‑ возвращает указатель на символьный массив с исходной строкой.

Length, IsEmpty ‑ возвращает длину строки, признак пустой строки (True).

IsEmpty ‑ возвращает true, если длина строки нулевая.

Insert(i) ‑ вставка строки после i‑ й позиции исходной строки.

Delete/SubString(i, n) ‑ удаление/выделение подстроки длиной n с i‑ й по­зи­ции исходной строки (r=Label1-> Caption.SubString(2, 3)).

LastDelimiter‑ возвращаетпозицию последнего символа‑ ограничителя. LowerCase/UpperCase ‑ пере­вод строки в нижний/верхний регистр.

Trim, TrimLeft/TrimRight ‑ убрать пробелы и управ­ляющие символы в на­ча­ле и в конце строки, только в начале/конце строки соответственно.

Format‑ форматирование строки, аналогично функции printf.

ToInt/ToDouble ‑ перевод числовой ст­ро­ки к целому/вещественному числу.

AnsiPos(s), Pos(s) ‑ возврат номера первого символа вхождения строки S.

Пример формирования и вывода фамилии, имени и отчества:

String Fio, Fam=«Иванов», Imj=«Иван»; Fio=Fam+’ ‘+Imj+’ ‘;

Fio.Insert(«Иванович», Fio.Length()+1); Label1-> Caption=Fio;

SmallString реализуется в виде: SmallString < длина> < имя строки>.

Пример: SmallString< 30> Fam; Fam=«Иванов»; Label1-> Caption=Fam;

AnsiString реализуется в виде:

AnsiString< имя переменной> [< длина> ]. Этот тип эквивалентен типу String.

Пример:

AnsiString Fio, Fam=«Иванов», Imj=«Иван»; Fio=Fam+’ ‘+Imj+’ ‘;

Fio.Insert(«Иванович», Fio.Length()+1); Label1-> Caption=Fio;

Variant реализуется в виде: Variant < список имен переменных>.

Пример:

Variant Fam=«Иванов», Dp=Date(); //объявление универсальных переменных

Label1-> Caption=Fam+DateToStr(Dp); // формирование и вывод метки

TDateTime реализуется в виде: TDateTime < список имен переменных>. Этот тип имеет структуру типа double, которая содержит в целой части зна­че­ние даты (порядкового номера дня начиная с 30.12.1899), а в дробной ‑ значение времени (отсчитывая от 12: 00).

Пример: TDateTime d=Date(); Label1-> Caption=d+1; // дата на завтра

Currency реализуется в виде: Currency < список имен переменных>.

Currency Stoimoct=123565.15; Label1-> Caption=Stoimoct;

Переменные‑ константы задаются добавлением модификатора const и значений при объявлении этих переменных. Попытки изменить эти значения операторами присваивания будут обнаружены при компиляции.

Пример. const int a=1; /* переменная‑ константа*/ a=2; // ошибка

Переопределение типа можно осуществить оператором typedef.

Пример переопределения типаlong double на новый тип vehhiclo:

typedef long double vehhiclo; vehhiclo a=1.2, b=1.6; // перемен. типа vehhiclo






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.