Autor Beitrag
|Harry|
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 27.10.02 15:51 
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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: 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:

_________________
Viele Grüße
Jakob
Eisenherz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Mo 28.10.02 14:30 
Hi Harry,

bei Delphi-Source.de gibt es ein neues Tutorial.
Das geht zwar nicht direkt auf Dein Problem ein, wenn Du das aber verstehen solltest, dann sollte es Dir keine Probleme bereiten, das auf Dein Problem umzusetzen.

_________________
aloa Eisenherz
Emmis
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 30.10.02 19:47 
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
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: 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:
www.kasparsoft.de/Ra...eamData/Download.htm

(Bei delphi-source.de ist glaube ich nur das Tutorial ausgestellt, ist aber das Gleiche!!)

Viel Erfolg, Raphael

_________________
Share your knowledge to receive perfection!
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: 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

_________________
Share your knowledge to receive perfection!