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


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

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



стр. 2
Основное назначение строковых функций

Пустая строка

       Основное назначение строковых функций заключается в выполнении операций над ними независимо от других условий. Например, перед выполнением любой операции со строкой, иногда нужно проверить является ли строка пустой. И в зависимости от результата, принять решение, что делать дальше.

       Есть два способа проверки содержимого основного текста элемента управления. Можно выполнить проверку с использованием перегруженного оператора AnsiString "==". Например:

       void __fastcall TForm1::Button1Click(TObject *Sender)
       {
              AnsiString Original = Edit1->Text;

              if(Original == "")
                     Edit2->Text = "Why is Edit1 empty?";
       }

       У класса AnsiString есть собственная функция, используемая для проверки строки на пустое значение. Её синтаксис:

       bool __fastcall IsEmpty() const;
              Эта функция может быть использована для проверки на пустое значение контента элементов управления, но её нельзя использовать для установки пустого значения. Следующий пример показывает два варианта использования метода AnsiString::IsEmpty(): 

       void __fastcall TOKBottomDlg::OKBtnClick(TObject *Sender)
       {
              String UserName = edtUserName->Text;

              if( Edit1.IsEmpty() )
                     Panel1->Caption = "Please provide a User Name";
              if( Edit2->Text == "" )
                     Panel1->Caption = "You need to type a password";
              if( Edit3->Text.IsEmpty() )
              Panel1->Caption = "Your account is not complete";
                     edtUserName->SetFocus();
       }

Длина строки

       Если строка была инициализирована или, по крайней мере, не пустая - она имеет длину. Существует много способов определения и установки длины строки.

       Для нахождения длины строки, если строка определена в стиле С, вы можете сконвертировать её, применив функцию AnsiString::c_str(), и затем использовать функцию strlen() для получения её длины: 

       void __fastcall TForm1::Button1Click(TObject *Sender)
       {
              char* S = Edit1->Text.c_str();
              Edit2->Text = strlen(S);
       }

       Для получения длины строки переменной AnsiString нужно использовать метод String::Length(). Его синтаксис:
int __fastcall Length() const;

Эта функция вернет целочисленное значение длины строки. Например: 

       void __fastcall TForm1::Button1Click(TObject *Sender)
       {
              AnsiString S = Edit1->Text;
              Edit2->Text = S.Length();
       }


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
или выше.