Stringlist/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;Zobacz także
From the Free Pascal wiki, page "Stringlist/pl", as it stood on 2022-01-28 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
