[Pascal]Tworzenie listy jednokierunkowej

Witam, mam problem ze zrozumieniem wskaźników i listy jednokierunkowej w pascalu. Zacznę od tego:

type

   wskaznik=^element;

   element= record

     tekst:string;

     wsk:wskaznik;

   end;

Jak rozumiem w rekordzie(czyli w samej liście jednokierunkowej)sam tekst, to jest dla mnie w miarę zrozumiałe. Niestety nie wiem jak to zastosować w programie, nawet bardzo prostym. W ogóle to jeżeli pierwszy element zostanie wypełniony to tworzy się drugi a jak ten wypełnię to tworzy się następny i tak dalej?

Z góry dziękuje za odpowiedz, Faja.

Może zrozumiesz w ten sposób:

type=^element;   element=record:string;      nastepny:welement;   end;   lista=record:welement;   end; [/code]lista:
[code=php]var Lst:lista; 

inicjalizacja listy:

Lst.pierwszy:=nil; [/code]
dodawanie:
[code=php]var nowy:welement;GetMem(nowy,SizeOf(element));nowy.tekst:='ala ma kota';nowy.nastepny:=Lst.pierwszy;Lst.pierwszy:=nowy;

Dziękuje , z tego rozumiem więcej i już co nieco łapię ale co mogę z takimi listami zrobić? Utworzyłem np. bardzo długą listę która zawiera liczby i chciałbym ją zsumować, w jaki sposób to zrobić?

I nie rozumiem tego za bardzo:

lista=record

      pierwszy:welement;

end;
  1. Do zmiennej tmp typu welement wpisujesz Lst.pierwszy;

  2. Pętla: Jeżeli tmp jest nulem to koniec pętli - idź do 5.

  3. Dodaj do sumy Lst.Liczba

  4. Wpisz do tmp wartość tmp.nastepny

  5. Koniec.