AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern und Laden mit Delphi

Offene Frage von "Matthes1988"
Ein Thema von Matthes1988 · begonnen am 9. Jan 2008 · letzter Beitrag vom 10. Jan 2008
Antwort Antwort
Matthes1988

Registriert seit: 9. Jan 2008
2 Beiträge
 
#1

Speichern und Laden mit Delphi

  Alt 9. Jan 2008, 15:38
Hallo Leute.
Ich habe ein Problem. Bestimmt wurde diese Problematik schon oft hier erwähnt, aber ich weiss nicht genau wie ich vorgehen soll.
Das Projekt um das es geht, kennen bestimmt schon einige. Tiereraten.
Nun soll ich dabei jeweils neue Tiernamen und das dazugehöroge Attribut abspeichern, so dass die Liste bzw. der Binärbaum immer mehr wird. Der Tiername + Attribut soll in eine Editkomponente, in einem neuen Formular, eingegeben werden. Buttons zum laden und speichern sind schon vorhanden.

Das Projekt sieht bislang so aus:
Delphi-Quellcode:
  constructor TRateBaum.create(Tier_ja,Frage,Tier_nein:string);
  var l_Baum,r_Baum TBinTree;
  begin
    l_Baum:=TBinTree.create(tString.create(Tier_ja));
    r_Baum:=tBinTree.create(TString.create(Tier_nein));

    hBaum:= TBinTree.create(TString.create(Frage),l_Baum,r_Baum);
    kAktueller_Baum:=hBaum;
  end;

  function TRateBaum.liesAktuellenKnoten:string;
// var hilf:TObject;
  begin
   //hilf := kAktueller_Baum.getRootItem;
  // result := TString(hilf);
   result:= TString(kAktueller_Baum.getrootitem).lies_Inhalt;
  end;

  function TRateBaum.tierErreicht:boolean;
  var hilf1, hilf2 : TBinTree;
  begin
    hilf1 := kAktueller_baum.getLeftTree;
    hilf2 := kAktueller_Baum.getRightTree;
    if (hilf2.isempty) and (hilf2.isempty) then
    result := true;
   end;

  procedure TRateBaum.nach_rechts;
  begin
    kAktueller_Baum := kAktueller_Baum.getRightTree;
  end;

  procedure TRateBaum.nach_links;
  begin
    kAktueller_Baum := kAktueller_Baum.getLeftTree;
  end;

  procedure TRateBaum.zurueckSetzen;
  begin
    kAktueller_Baum:=hBaum;
  end;

  procedure TRateBaum.wissenErweitern(NeueFrage, NeuesTier:string; antwortJa:boolean);
  var Tier_alt,Tier_neu,Frage_neu:Tstring;
  begin
    Frage_neu:=TString.create(neueFrage);
    If AntwortJA then
     begin
      Tier_alt := TString(kaktueller_Baum.get_rootitem);
      kAktueller_Baum.setitem(Frage_neu);

      Tier_neu:= TString.create(NeuesTier);
      kAktueller_baum.getrightTree.create(Tier_alt);

      kAktueller_Baum.getlefttree.create(Tier_neu);
     end
    else
     begin
      Tier_alt := TString(kaktueller_Baum.get_rootitem);
      kAktueller_Baum.setitem(Frage_neu);

      Tier_neu:= TString.create(NeuesTier);
      kAktueller_baum.getleftTree.create(Tier_alt);

      kAktueller_Baum.getrighttree.create(Tier_neu);
     end;
  end;
       TMemo



 procedure TRateBaum.speicher(B:TBinTree);

   end;


  procedure TRateBaum.speichern; // savefileto..
  begin
 //
  end;

 procedure TRateBaum.lade(B:TBinTree);
  begin
   //
  end;

  procedure TRateBaum.laden; //load bzw. ladenfilefrom
  begin
   //
  end;

  destructor TRateBaum.destroy;
  begin
    //
  end;

end.
Angehängte Dateien
Dateityp: exe ptiereraten_107.exe (316,5 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Speichern und Laden mit Delphi

  Alt 9. Jan 2008, 15:41
Hallo.
Zitat von Matthes1988:
Ich habe ein Problem.
Hast Du es im Quelltext versteckt? In Deiner 'Problem'beschreibung habe ich nämlich keines gefunden
  Mit Zitat antworten Zitat
Matthes1988

Registriert seit: 9. Jan 2008
2 Beiträge
 
#3

Re: Speichern und Laden mit Delphi

  Alt 9. Jan 2008, 15:48
Das Problem ist, dass ich nicht weiss wie genau ich das Laden und Abspeichern (im Quelltext ist es halt leer mit //) programmieren bzw. implementieren soll.
Nun die hoffentlich verständliche Frage : Wie bekomme ich das speichern und laden hin?
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Speichern und Laden mit Delphi

  Alt 9. Jan 2008, 15:51
Ich verweise mal auf diesen Beitrag, weil ich mich nicht gerne wiederhole.
http://www.delphipraxis.net/internal...t.php?t=126254
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Speichern und Laden mit Delphi

  Alt 9. Jan 2008, 16:01
Du hast also hierarchische Daten, da du eine Baumstruktur laden und speichern möchtest.
Man kann hierarchische Daten auch als flache Struktur speichern, indem man jedem Knoten eine ID gibt:
Code:
Node | Parent | Daten
=====================
    1       -1  Tier
    2        1  Säugetier
    3        2  Primaten
    4        1  Wirbellose
    5        4  Spongebob Squarepants
Diese Daten könnte man z.B. in eine Datenbanktabelle, Ini-Datei oder einer CSV-Datei speichern.
Wenn man eine CSV-Datei haben möchte, wird man selbstverständlich TStringList verwenden.

Wesentlich schöner ist allerdings, wenn man gleich XML zu Speichern verwendet.

Welchen Weg möchtest du also gehen ?
Andreas
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#6

Re: Speichern und Laden mit Delphi

  Alt 9. Jan 2008, 23:35
oder du serialisierst dein objekt. dann kannste es in einem rutsch laden und speichern. dazu muss es jedoch von der klasse tpersistent (hoffentlich richtig geschrieben) abgeleitet sein.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Speichern und Laden mit Delphi

  Alt 10. Jan 2008, 08:16
Für so was bieten sich eigentlich XML-Dateien an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz