Speichern und Laden von neuen Wissenstrukturen

M

Matthes20

Hallo...
Ich habe ein Problem. Ich muss jeweils das Speichern und Laden von neuen Wissenstrukturen in einem Binärbaum hinbekommen. Das Projekt kennen manche von Euch bestimmt. Es ist Tiereraten. Dabei sind zwei Entscheidungen bzw. zwei Tiere schon vorgegeben. Falls sich das Tier nicht in der "Datenbank" befindet(am Anfang 2xnein) öffnet sich ein neues Formular. Dabei soll der Benutzer nun sein gedachtes Tier in ein Editfeld eingeben und was dieses Tier von dem Anderen unterscheidet. Zum Beispiel: Kuh und Muh. Nun ist die Frage: Wie mache ich das genau? Ich weiss nicht ob ich eventuell mit TMemo etc. arbeiten muss bzw. soll. Die Klasse TRatebaum sieht bislang so aus.

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;




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


procedure TRateBaum.speichern;
begin
//
end;

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

procedure TRateBaum.laden;
begin
//
end;


Hoffe ihr könnt mir weiterhelfen. Vielen Dank schon einmal im vorraus.
 
Es wird leider nicht ganz klar, was du machen willst. Zuerst sprichst du von einer Datenstruktur, dann von einem TMemo -- das steht in keinem Zusammenhang. Bitte genauer erklären!
 
Zurück