TStringList
nieznany
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.
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.