Einzelnen Beitrag anzeigen

Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#1

TFileStream Strings saven kalppt nicht

  Alt 3. Nov 2005, 17:11
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
  Mit Zitat antworten Zitat