BorlanD Russian Сommunity

Изучим этот класс. Класс TStrings предназначен для хранения набора строк. Этот класс является непосредственным потомком класса TPersistent, что означает в частности, что у него уже есть способность по сохранению и чтению своих данных.

Класс TStrings не используется в программах непосредственно (т. е. не надо пытаться создать переменную такого типа). Чаще всего он используется или как свойство некоторого компонента (например, у компонента Memo есть свойство Lines типа TStrings). Если же нам в программе нужен просто набор строк, то следует использовать экземпляр класса TStringList, который является потомком класса TStrings.

Рассмотрим основные свойства и методы класса TString. В наших примерах мы для конкретности будем иметь дело со свойством Lines экземпляра класса TMemo (компонент Memo расположен на вкладке Standard палитры компонентов). Его свойство Lines как раз и имеет тип TStrings.

Основное свойство для класса TStrings - это Strings, в которое можно записывать отдельные строки через индекс.

 

Код:

 

            Memo1.Lines.Strings[0]:='London';

            Memo1.Lines.Strings[0]:='Paris';

 

Свойство Count возвращает число элементов в списке:

 

ShowMessage(IntToStr(Memo1.Lines.Count));

 

А вот так можно пройтись по всем строкам, входящим в TStrings:

 

var

            i: Integer;

            ...

            for i := 0 to Memo1.Lines.Count - 1 do

            ShowMessage(Memo1.Lines[i]);

 

Свойство IndexOf позволяет выяснить, на каком месте в списке находится некоторая строка (и есть ли она вообще).

 

Вот пример его использования:

 

var

            k: Integer;

begin

            //Получаем номер строки "Igor".

            k:=Memo1.Lines.IndexOf('Igor');

            ShowMessage(IntToStr(k));

end;

 

Свойство IndexOf равно номеру места, на котором находится нужная строка (нумерация идет с нуля). Если такой строки вообще нет, то свойство IndexOf будет равно -1.

Методы Add и Insert служат для добавления строк в конец и на определенное место соответственно.

 

Вот пример их применения:

 

            //Добавление в конец списка.

            Memo1.Lines.Add('Roma');

            //Добавление на второе место.

            Memo1.Lines.Insert(2, 'Berlin');

 

Удаление элемента с определенного места делаем методом Delete.

 

Вот пример его использования:

var

             i:Integer;

             ...

             //Получаем номер элемента Roma.

            i:= Memo1.Lines.IndexOf('Roma');

            //Если элемент существует.

            if i> -1 then

            Memo1.Lines.Delete(i);

 

В этом примере мы сначала выясняем, на каком месте находится строка Roma, и затем удаляем ее (конечно, если она есть).

Всё на этом урок закончен.

Просмотров: 10160 | Категория: Delphi 7 | Дата: 11.05.2008