Entwickler-Ecke
Dateizugriff - Daten in Datei speichern
|Harry| - So 27.10.02 15:51
Titel: Daten in Datei speichern
Hi!
Wie kann ich sowas in eine Datei speichern:
-TStrings
-TList
-String's
-Integer
für die letzten beiden gäbe es ja ini-dateien, aber wie speichere ich TStrings oder Listen in eine datei? das sollte alles zusammen in eine datei noch besser wäre es sogar wenn man gleich ca. 20 mal sowas reinspeichern könnte.... wie bei ini-dateien, so stell ich mir das vor:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| [ErsterEintrag] name=normaler_String zahl=integer text=der_inhalt_eines_ganzen_memos der_über_mehrere _zeilen_verteilt ist liste=eine liste aus string einträgen [ZweiterEintrag] name=.... .... |
viele grüße
harry
(03.11.02 12:21 Tino) Code-Tags hinzugefügt.
DeCodeGuru - So 27.10.02 22:49
ich an deiner Stelle, würde ein FileStream nehmen und dann die Daten reinschreiben, vor den eigentlichen Daten würde ich dann die Länge des Strings reinschreiben. Du musst dir da halt ne Möglichkeit überlegen, wie du die Daten dann beim Einlesen wieder auslesen kannst.
Außerdem würde ich die Daten mit konstanter Länge immer an den Anfang der Datei speichern.
Denk mal drüber nach :wink:
Emmis - Mi 30.10.02 19:47
Titel: Daten in Datei speichern
Hi Harry,
das liest sich, als ob du diese Daten in einer Tabelle (Datenbank) speichern willst.
In Paradox-Dateien lassen sich Felder vom Typ ftmemo anlegen.
Die Darstellung und Bearbeitung im Formular kann mit der Komponente DB-Memo erfolgen.
m.f.g. emmis
Anonymous - Do 31.10.02 15:54
Ich hatte vor kurzem auch so ein Problem. Ich hatte einige etwas komplizierte Versuche unternommen die eigentlich auch funktioniert haben. Dann hatte ich plötzlich die Idee. Ich stand auf, ging zu Wand und schlug so lange mit dem Kopf gegen die Wand bis sich dann der Putz von der Wand löste. :wink:
Das ganze funktioniert nur dann wenn die Memo nicht zu groß ist. Für eine mehrzeilige Info aber reicht es. Memo.Lines hat CommaText (z.B. Memo1.Lines.CommaText). Das Ergebnis ist ein String der auch in der Ini als ein String gespeichert werden kann. Zeilenumbrüche sind da eine Kombination aus Kommas und Anführungszeichen. Zurück ergibt das wieder einen mehrzeiligen Memotext.
Raphael82 - Fr 01.11.02 14:53
Ich würde auf den Tipp von Eisenherz eingehen, da ich das Tutorial selber neulich mal durchgesehen habe und auch die Klassen der RakBinaryStreamData installiert habe. Was besseres wirst du ned finden und es ist saueinfach. Ansonsten musst du halt mit Datenbanken arbeiten. Mit etwas Aufwand gingen auch Typisierte Dateien. Ini-dateien sind ungeignet und dafür auch nicht da.
Tutorial, Klassen und sogar Beispiele findest du hier:
http://www.kasparsoft.de/RakBinaryStreamData/Download.htm
(Bei delphi-source.de ist glaube ich nur das Tutorial ausgestellt, ist aber das Gleiche!!)
Viel Erfolg, Raphael
Anonymous - Sa 02.11.02 22:52
Wie dir bekannt ist kann man TStrings auch über SaveToFile speichern. Dafür braucht man nicht das Tut. Er wollte wissen wie man in der Ini mehrere Zeilen einer StringList speichern kann.
Raphael82 - So 03.11.02 13:00
Popov hat folgendes geschrieben: |
Wie dir bekannt ist kann man TStrings auch über SaveToFile speichern. Dafür braucht man nicht das Tut. Er wollte wissen wie man in der Ini mehrere Zeilen einer StringList speichern kann. |
Klar, da hast du absolut recht. Doch sind Ini-Dateien nicht dazu da Daten einer Datenbank zu speichern. Sie dienen der Initialisierung des Programms und ich hab ihn so verstanden, dass er eine Art Datenbank anlegen will. (siehe erstes Posting)
Ini-Dateien waren in Windows 3x, dass was heute durch die Registry ersetzt wurde, und in die Registry schreibt man auch keine Namen und dazugehörige Texte aus Memos etc.
Was an der Streammethode und Binären Dateien einfach besser ist, ist die Möglichkeit, bei eventuell späteren Erweiterungen des Programms zBsp auch Bilder zu speichern.
Und mit SaveToFile speichert man außerdem nicht in eine Ini.
Doch im Grunde hast du natürlich recht, man kann mit etwas umstand (allerdings nicht mit SaveToFile), auch TStrings in Ini's speichern.
MfG, Raphael
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!