Copyright © 2010 Promsite. All Rights Reserved.
стр. 11


Работа со строками AnsiString

                                                                                         перевод Виктор Алексеев aka prom



стр. 11
Выделение подстроки

       Подстрока это строка, которая или выделяется или включается в другую строку. C++ и C++ Builder позволяет вам находить подстроку в исходной строке, получать позицию в строке и т.д.
       Вы можете создать новую строку из исходной. Используя метод AnsiString::SubString(). Синтаксис метода:
       AnsiString __fastcall SubString(int StartPosition, int HowManyChars) const;

Этот метод получает два целочисленных аргумента. В исходной строке первый аргумент определяет позицию символа начала новой строки. Второй аргумент устанавливает количество символов в новой строке. Пример:
//---------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
       AnsiString Original = Edit1->Text;
       AnsiString SubOne = Original.SubString(9, 4);
       Edit2->Text = SubOne;
}

Позиция подстроки

       Класс AnsiString позволяет анализировать строку и находить определенную подстроку. Если необходимо, то можно получить позицию подстроки, используя метод AnsiString::Pos(). Синтаксис метода:
       int __fastcall Pos(const AnsiString& SubString) const;

Во многих случаях можно использовать метод AnsiString::AnsiPos(). Синтаксис метода:
       extern PACKAGE int __fastcall AnsiPos(const AnsiString Substr, const AnsiString S);

Замена символа или подстроки

       Когда выполняется ваш алгоритм или другие специфические операции со строками, то можно найти определенный стимвол или группу символов в строке. Также возможна замена символов на другие или на новую подстроку. Эта операция выполняется функцией StringReplace(). Синтаксис функции:
       AnsiString __fastcall StringReplace(const AnsiString Original,
                                           const AnsiString LookFor,
                                    const AnsiString ReplaceWith,
                                    TReplaceFlags FlagToUse);

(Примечание:

Original - исходная строка в которой ищем;
LookFor - строка которую ищем (шаблон поиска);
ReplaceWith - строка замены, которой заменяем найденную подстроку).

       Функция StringReplace() будет искать по шаблону поиска символ или подстроку в исходной строке. Если результат поиска положителен, тогда произойдет замена найденного символа или подстроки на символ или подстроку строки замены. Управление этой операцией выполняется с помощью аргумента FlagToUse. Значение аргумента можно использовать для замены всех входимостей шаблона поиска на строку замены. В этом случае флаг должен быть  rfReplaceAll. Вы также можете дать директиву rfIgnoreCase компилятору не принимать во внимание регистр символа(ов). Если аргумент TReplaceFlags установлен, вы можете использовать один или оба флага. Пример:
//--------------------------------------------------------------- ------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
       Edit1->Text = StringReplace(Edit1->Text, " ", "",
       TReplaceFlags() << rfReplaceAll);
}

P  R  O  M  S  I  T  E
Статьи по С++Builder 6
страницы: 1   2   3   4   5   6   7   8   9   10   11   12
страницы: 1   2   3   4   5   6   7   8   9   10   11   12

Для отображения Облака ссылок
необходим
Adobe Flash Player 9
или выше.