Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeigerlisten erstellen, speichern und laden (https://www.delphipraxis.net/128273-zeigerlisten-erstellen-speichern-und-laden.html)

kompi19 27. Jan 2009 09:57


Zeigerlisten erstellen, speichern und laden
 
Hallo zusammen...

Ich scheitere gerade an dem oben genannten Thema. Unser Info-Lehrer hat uns das Thema gegeben und gesagt ja macht mal...
Habe schon etliche Tutorials gelesen, aber trotzdem ist mir die ganze Thematik noch nicht hundert Prozent klar. Finde das alles an sich auch ziemlich abstrakt.


Das sind hier erstmal die Typ- und Variablendeklarationen.
Delphi-Quellcode:
type
  PKnoten = ^TKnoten;
  TKnoten = Record
             Nr : Integer;
             Inhalt : String;
             Next : PKnoten;
            end;

var
  Root, Knoten : PKnoten;
  Datei : Textfile;
  wort: string;
  NeuerKnoten:Pknoten;
  i:integer;
Knoten ist jetzt ein Zeiger, der auf das Record zeigt, stimmt das? Könnte mir das mal jemand bitte genau erklären?


Das ist die Lade-Prozedur.
Delphi-Quellcode:
 Assignfile(Datei,'daten.dat');
 {$I-}
 Reset(Datei);
 {$I-}

 if IORESULT <> 0 then
  begin
   Showmessage('Datei konnte nicht gefunden werden');
   exit;
  end;
 i:=0;

 While not EOF(Datei) do
  begin
   Readln(Datei,wort);
   New(neuerKnoten);
   With Knoten^ do
    begin
     Next:=NeuerKnoten;
     Inhalt:=wort;
     Nr:=i;
    end;
   Knoten:=NeuerKnoten;
   Knoten^.next:=nil;
   inc(i);
  end;
 Closefile(Datei);
 Knoten:=Root;
 Anzeige();
Hier wäre es auch schön wenn mir das vllt mal jemand zeilenweise erklären kann, was da genau passiert.

Und wie müsste das Speichern einer Liste dann aussehen? Wenn ich also erst eine Liste im Ram erstelle und daraus dann speichere?


DAnke schon mal.

DeddyH 27. Jan 2009 11:56

Re: Zeigerlisten erstellen, speichern und laden
 
Hast Du auch das Tutorial hier aus der DP gelesen? Besser könnte ich es nämlich auch nicht erklären ;)
http://www.delphipraxis.net/internal...t.php?t=132884

P.S.: Ändere den Typ innerhalb des Records mal von String auf Shortstring, sonst hast Du später Kummer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz