Moduły » Classes

TStringList

TStringList
Moduł: Classess

TStringList jest klasą służącą do uporządkowanego umieszczenia obiektów typu String na liście. TStringList posiada właściwości komponentu Memo, jednak nie jest on komponentem wizualnym.

Aby użyć TStringList, konieczne jest zadeklarowanie zmiennej typu TStringList:
var
Nazwa_klasy : TStringList;

Przed użyciem klasy tworzymy ją na podstawie zmiennej, którą zadeklarowaliśmy:
Nazwa_klasy := TStringList.Create();


Do TStringList możemy automatycznie ładować pliki tekstowe. Odbywa się to za pomocą metody LoadFromFile:
Nazwa_klasy.LoadFromFile('Plik');


Metoda SaveToFile pozwala zaś zapisać zawartość TStringList do pliku:
Nazwa_klasy.SaveToFile('Plik');


Dodawanie linijki tekstu do TStringList realizujemy metodą Add:
Nazwa_klasy.Add('zawartość linijki');


Zmiana zawartości linijki tekstu:
Nazwa_klasy[numer_linii] := 'nowa_zawartość';

Należy pamiętać, iż numery linii numerowane są nie od 1, a od zera.

Usuwanie pojedynczej linii:
Nazwa_klasy.Delete[numer_linii];

Jednocześnie wszystkie linie będące za usuwaną linijką mają zmniejszany indeks o 1.

Czyszczenie zawartości TStringList:
Nazwa_klasy.Clear;


Właściwość Count zwraca ilość linii zawartych w TStringList.

Gdy zakończymy pracę z tą klasą, należy zwolnić pamięć rezerwowaną przez tą klasę:
Nazwa_klasy.Free;


Przykład użycia TStringList:
program Foo;
 
{$APPTYPE CONSOLE}
 
var
  Spis : TStringList;               // Deklarujemy zmienną typu TStringList.
  I     : Integer;
 
begin
  Spis := TStringList.Create;   // Przed użyciem tworzymy TStringList który zadeklarowaliśmy.
 
  Spis.Add('Tu jest tekst.');        
  Spis.Add('A tu kolejny.');      // Dodanie linijek o podanej zawartości.
  Spis[1] := 'Zmiana tekstu';   // Zmiana zawartości linijki o podanym indeksie. Pamiętamy, by liczyć od zera.
 
  For I := 0 to Spis.Count-1 do
  begin
    ShowMessage(Spis[i]);      // Wyświetlanie komunikatów z zawartością poszczególnych linii po kolei.
  end;
 
  Spis.Free;                         // Gdy skończymy korzystać z klasy, czyścimy zarezerwowaną pamięć.
end.

2 komentarze

nieznany 2015-12-22 14:17

Dzięki, pisałem to w drugim miesiącu mojej nauki programowania ;)

jaco777 2015-12-07 15:55

W pętli For powinno być Spis.Count-1. W przeciwnym wypadku wychodzimy poza zakres TStringList, ponieważ liczymy od 0.

Pozwoliłem sobie poprawić artykuł w tym miejscu.