Поиск строки в 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;
|