Stringlist/pl
From Lazarus wiki
Jump to navigationJump to search
│ Deutsch (de) │ English (en) │ polski (pl) │
Lista ciągów string
W przypadku listy ciągów (StringList) plik jest w całości wczytywany do pamięci roboczej. Lista ciągów jest zatem odpowiednia dla plików o małych i średnich rozmiarach. Lista ciągów to sposób na szybkie i łatwe przetwarzanie plików. Lista ciągów znakomicie nadaje się do przetwarzania plików mniejszych niż 1 megabajt. Aby przetworzyć plik, cały plik jest ładowany do pamięci głównej. Każdy wiersz rekordu danych jest wczytywany do własnego elementu tablicy.
Tworzenie pliku
procedure SubStringlistFileCreate ();
var
// TStringlist jest częścią modułu Classes
strList : TStringList;
begin
// Tworzy listę ciągów
strList := TStringList.Create;
// Dodaje rekord string wraz z podziałem wiersza do listy ciągów
strList.Add('xyz');
// Dodaje rekord string wraz z podziałem wiersza do listy ciągów
strList.Add('abcd');
// Zapisuje listę ciągów do pliku
strList.SaveToFile('example.txt');
// Zwalnia listę ciągów z pamięci
strList.Free;
end;
Dołączą rekord do istniejącego pliku
procedureSubStringlistApplyFile ();
var
// TStringlist jest częścią modułu Classes
strList : TStringList;
begin
// Tworzy listę ciągów
strList := TStringList.Create;
// Wczytuje cały plik do listy ciągów
strList.LoadFromFile('example.txt');
// Dodaje rekord string wraz z podziałem wiersza do listy ciągów
strList.Add('text');
// Zapisuje listę ciągów do pliku
strList.SaveToFile('example.txt');
// Zwalnia listę ciągów z pamięci
strList.Free;
end;
Szukanie rekordu
Metoda 1
procedure subStringlistFileSearch ();
var
// TStringlist jest częścią modułu Classes
strList : TStringList;
intI : Integer;
begin
// Tworzy listę ciągów
strList := TStringList.Create;
// Wczytuje cały plik do listy ciągów
strList.LoadFromFile('example.txt');
// Użyj zliczanie w pętli, aby znaleźć odpowiedni rekord
for intI := 0 to strList.Count -1 do
begin
// Wyszukaj i zmień rekord
if strList [intI] = 'abcd' then
strList [intI] := 'dcba';
end;
// Zapisuje listę ciągów do pliku
strList.SaveToFile('example.txt');
// Zwalnia listę ciągów z pamięci
strList.Free;
end;
Metoda 2
procedure subStringlistInFileSearch2 ();
var
// TStringlist jest częścią modułu Classes
strList : TStringList;
intI : Integer;
begin
// Tworzy listę ciągów
strList := TStringList.Create;
// Wczytuje cały plik do listy ciągów
strList.LoadFromFile('example.txt');
// Wyszukuje „Text”, jeśli nie zostanie znaleziony, wyszukiwanie zwróci -1
intI := strList.IndexOf ('Text');
// Jeśli poszukiwany rekord zostanie znaleziony, zastępuje go
if intI <> -1 then
strlist[intI] := 'tXET';
// Zapisuje listę ciągów do pliku
strList.SaveToFile('example.txt');
// Zwalnia listę ciągów z pamięci
strList.Free;
end;
Sortuj plik alfabetycznie
procedure SubStringlistFileSort ();
var
// TStringlist jest częścią modułu Classes
strList : TStringList;
intI : Integer;
begin
// Tworzy listę ciągów
strList := TStringList.Create;
// Wczytuje cały plik do listy ciągów
strList.LoadFromFile('example.txt');
// Sortuj listę ciągów alfabetycznie
strList.Sort;
// Zapisuje listę ciągów do pliku
strList.SaveToFile('example.txt');
// Zwalnia listę ciągów z pamięci
strList.Free;
end;