TStringList

nieznany
TStringList
Moduł: Classess
`TStringList` jest klasą służącą do uporządkowanego umieszczenia obiektów typu [[Delphi/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.

3 komentarzy

Iterując nie liczymy ciągle Count, lepiej wcześniej zmiennej nadać Count do tej zmiennej dać " to ...".

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

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.