Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Kleine Datenbank speichern unter Verwendung von Zeigern

  Alt 23. Aug 2010, 22:33
Versuch es mal so...
Delphi-Quellcode:
procedure TForm1.SpeicherFreigeben;
var DelPointer : Zeiger;
begin
  while Wurzel <> nil do begin
    DelPointer:=Wurzel;
    Wurzel:=Wurzel^.naechster;
    dispose(DelPointer);
  end;
  Wurzel:=nil;
end;

procedure TForm1.ButtonSpeichernClick(Sender: TObject); //Vokabeldatenbank speichern
var RunPointer : Zeiger;
begin
  Assignfile(f, Datenpfad);
  try
    rewrite(f);
    RunPointer:=Wurzel;
    while RunPointer <> nil do
    begin
      write(f, RunPointer^.Inhalt);
      RunPointer:=RunPointer^.naechster;
    end;
    showmessage('Vokabel-Verzeichnis erfolgreich gespeichert'); //Erfolgsmeldung ausgeben
  finally
    closefile(f);
  end;
end;

procedure TForm1.ButtonLadenClick(Sender: TObject); //Vokabeldatenbank laden
var NewPointer, OldPointer : Zeiger
begin
  SpeicherFreigeben;
  Assignfile (f, Datenpfad);
  try
    reset(f);
    OldPointer:=nil;
    while not eof(f) do //Auslesen bis Ende der Datei erreicht wird
    begin
      new(NewPointer);
      read(f, NewPointer^.Inhalt);
      NewPointer^.naechster:=nil;
      if OldPointer <> nil then
        OldPointer^.naechster:=NewPointer;
      if Wurzel = nil then
        Wurzel:=NewPointer;
      OldPointer:=NewPointer;
    end;
    showmessage('Datenbank erfolgreich geladen'); //Erfolgsmeldung ausgeben
  finally
    closefile(f);
  end;
end;
  Mit Zitat antworten Zitat