15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Поиск строки в TStringList.

Компилятор: C++ Builder

Воспользуйтесь IndexOf, которая является функцией членом TStringList. IndexOf возвращает массив индексов строк, расположенных в TStringList. Первая строка имеет индекс 0. IndexOf возвращает -1 если строка не найдена в TStringList. Ниже представлены несколько примеров.

// Ищем строку в TStringList A.
int nIndex = A->IndexOf("hello");


// Ищем строку в TStringList A и, если строка найдена,
// то изменяем её
int nIndex = A->IndexOf("hello");
if (nIndex != -1)
    A->Strings[nIndex] = "GoodBye";


// Ищем в ListBox строку "Dr. Dobbs". Если строка не
// найдена, то добавляем её в ListBox
AnsiString str = "Dr. Dobbs";
if(ListBox1->Items->IndexOf(str) == -1)
    ListBox1->Items->Add(str);
else
    Application->MessageBox("Dr Dobbs found in ListBox1","found",MB_OK);


// Изменяем строку StringList в ListBox.
// Edit1 содержит строку, которую мы ищем, а Edit2 содержит
// строку, на которую мы заменяем.
int nIndex = ListBox1->Items->IndexOf(Edit1->Text);
if(nIndex != -1)
    ListBox1->Items[nIndex] = Edit2->Text;