Sign in Join
Wiki copytemporary

Stringlist/pl

Deutsch · English · Polski

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

pascal
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

pascal
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

pascal
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

pascal
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

pascal
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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.