Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Delphi. Уроки


Информационный Канал Subscribe.Ru

Delphi. Библиотека VCL. Уроки по программированию с сайта http://progs.biz

Рассылка №26

Delphi. VCL. Урок 39. Класс TStrings.

Полные версии уроков (с картинками) можно найти по адресам
Урок 39. Класс TStrings.

Изучаем Delphi. Библиотека VCL. Урок 39. Класс TStrings

Класс 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, и затем удаляем ее (конечно, если она есть).

Наверх

Рассылки с сайта progs.biz

Рассылки Subscribe.Ru
Уроки по C/C++

Уроки по C/C++. Конструкции языка, указатели, объектно-ориентированное программирование, работа с файлами, библиотека STL и другое.


Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное