Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Краткие теоретические сведения. AnsiString — тип строк
AnsiString — тип строк
В C++Builder тип строка АnsiString реализован как класс, объявленный в файле vcl/dstring.h и аналогичный типу длинных строк в Delphi. Это строки с нулевым символом в конце. При объявлении переменные типа AnsiString инициализируются пустыми строками.
Для AnsiString определены операции отношения = =,! =, >, <, > =, < =. Сравнение производится с учетом регистра. Сравниваются коды символов, начиная с первого, и если очередные символы не одинаковы, строка, содержащая символ с меньшим кодом считается меньше. Если все символы совпали, но одна строка длиннее и в ней имеются еще символы, то она считается больше, чем более короткая.
Для AnsiString определены операции присваивания =, += и операция склеивания строк (конкатенации) +. Определена также операция индексации [ ]. Индексы начинаются с 1. Например, если S1 = " Привет", то S1[1] вернет 'П', Sl[2] вернет 'p' и т.д.
Основные методы класса AnsiString (в описаниях методов через S1 обозначена строка, метод которой используется):
Метод
| Синтаксис / Описание
| AnsiCompare
| int _ fastcall AnsiCompare(const AnsiString& rhs) const
Сравнивает данную строку S1 с rhs с учетом регистра. Сравнение зависит от текущих установок Windows и может отличаться от сравнения, осуществляемого операциями сравнения. Возвращает значение > 0 при SI > rhs, значение < 0 при SI < rhs и значение 0 при SI = rhs
| AnsiCompareIC
| int _ fastcall AnsiCompareIC(const AnsiString& rhs) const
Осуществляет сравнение, аналогичное AnsiCompare, но без учета регистра
| AnsiLastChar
| x; har* fastcall AnsiLastChar() const
Возвращает указатель на последний значащий символ. Поддерживает многобайтные символы
| AnsiPos
| int _ fastcall AnsiPos(const AnsiString& subStr) const
Возвращает индекс первого символа первого вхождения subStr в S1. Индексы начинаются с 1. Если subStr не содержится в S1, возвращается 0. В отличие от Pos поддерживает многобайтные символы
| AnsiString
| _ fastcall AnsiString(apryMeHT)
Конструктор класса. В зависимости от типа аргумента создает:
| Аргумент
| Функция создает
| Отсутствует
| Пустую строку
| const char* src
| Строку с нулевым символом в конце из массива символов
| const AnsiString& src
| Копию AnsiString src
| const char* src, unsigned char len
| Строку с нулевым символом в конце, являющуюся копией первых len символов из src
| const wchar_t* src
| Строку с нулевым символом в конце из массива src символов типа wchar_t
| int src
| Строку с нулевым символом в конце из массива src целых значений символов
| double src
| Строку с нулевым символом в конце из массива src значений символов с плавающей запятой; преобразуются первые 15 значащих разрядов
| c_str
| char* fastcall c_str()const
Возвращает указатель на строку с нулевым символом в конце, содержащую те же символы, что в AnsiStrmg
| CurrToStr
| static AnsiString fastcall CurrToStr(Currency value)
Преобразует значение value типа Currency в строку
| CurrToStrF
| static AnsiString fastcall CurrToStrF(Currency value, TstringFloatFormat format, int digits)
Преобразует значение value типа Currency в строку, используя указанный формат преобразования чисел с плавающей запятой (см. разд. «TstringFloatFormat — тип»). Параметр определяет задаваемое число разрядов. Функция соответствует функции 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 с плавающей запятой в строку, используя указанный формат (см. разд. «TstringFloatFormat — тип»). Параметры 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 ForniatFloat(const AnsiString& 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, если строка пустая
| LastDelimiter
| int _ fastcall LastDelimiter(const AnsiString& delimiters) const
Возвращает последний из символов строки, входящих в строку разделителей delimiters. Например, если
AnsiString s = " с: \\filename. ext"; то s. LastDelimiter (" \\.: "); вернет 12 (индекс символа точки)
| 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 символов. Если исходная строка короче, то она не увеличивается
| StringOfChar
| static AnsiString fastcall StringOfChar(char ch, int count)
Возвращает строку, в которой символ ch повторен count раз. Например,
AnsiString s = AnsiString:: StringOfChar ('A', 10); задаст строке s значение «АААААААААА»
| Substring
| AnsiString fastcall SubString(int index, int count) const
Возвращает подстроку, начинающуюся с символа в позиции index и содержащую count символов
| ToDouble
| double fastcall ToDouble() const
Преобразует строку в число с плавающей запятой. Если строка не соответствует формату числа с плавающей запятой, генерируется исключение EConvertError
| Tolnt
| int _ fastcall Tolnt() 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 и возвращает указатель на этот массив
| WideCharBuf
Size
| int _ fastcall WideCharBufSize() const
Возвращает размер буфера, требуемого для функции WideChar
|
|