Hi,
also was ich brauche ist ein möglichst kompaktes und schnelles Verfahren um mehrere Wörter zu speichern und auszulesen, Vergleiche anzustellen usw.(Es werden aber wirklich sehr viele( >100000) deswegen wollte ich da nicht einfach in eine Textdatei reinschreiben weil ich dachte das wär wohl zu langsam).
Falls meine Idee mit TFileStream da Schwachsinn ist wärs auch nett mir das mitzuteilen
Also hab ich mir erstmal folgendes zusammengeschrieben (funktioniert nur leider nicht, war aber eigentlich klar weil ich von TFileStream keine Ahnung hab und nur einmal ID3-Tags damit ausgelesen habe):
Delphi-Quellcode:
//Wort ist mit einem String gefüllt und muss "nur" noch gespeichert werden
//Datei Worter.liste ist im Ordner (habs einfach mal .liste genannt, macht das was?)
//Buffer ist ein String
try
FS:=TFileStream.Create('Worter.liste',fmOpenRead);
SetLength(Buffer,FS.Size);
FS.Seek(0,soFromBeginning);
FS.read(Buffer,FS.Size);
finally
FS.Free;
end;
if pos(Wort,Buffer)=0 then
begin
try
FS:=TFileStream.Create('Worter.liste',fmOpenWrite);
FS.Seek(0,soFromEnd);
Buffer:=Buffer+Wort;
FS.write(Buffer,(length(Buffer)-FS.size));
finally
FS.Free;
end;
Warum funktioniert das nicht und wie könnte das klappen, wie würdet ihr das machen?
Danke im voraus
Flippo