Autor Beitrag
rizla
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Mi 11.03.09 13:34 
Hi!
Ich möchte für mehrere Dateien (aus einem/mehreren Verzeichnis(sen)) folgende Dinge
speichern und auf diese dann möglichst komfortable und einfach darauf zugreifen können:
- Dateipfad & -name (String)
- Beschreibung (TMemo?)
- ein Boolean

Nun stellt sich mir und damit viel mehr euch die Frage, wie ich das am besten realisieren könnte:

* per TTable?
* per XML-File?
* per "Array of Record"?
* eigenen Datenformat?
* ganz was anderes?

Das alles soll auf die HD gespeichert und bei Bedarf wieder hergestellt werden können (dann in einem TreeView).
Mir gehts nur um die Frage nach dem "wie". Wer hat welche Erfahrung mit den oben (oder auch nicht) genannten Sache und
kann mir n Tipp geben?

Danke für's lesen ;)


:r:

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 11.03.09 13:50 
Moin!

Mich deucht, du wirfst da zwei verschiedene Dinge in einen Topf: Objektrepräsentation und Speicherformat auf Massenspeicher. :idea:

Als Repräsentation würde ich eine eigene Klasse verwenden und die "Datei"-Objekte dann in einer TObjectList aufheben.

Wie du den Inhalt der "Datei"-Objekte dann auf die Platte bringst (Stichwort "Serialisieren"), das ist nochmal ein anderes Thema. Das kannst du im allereinfachsten Fall in einer Stringliste machen, oder XML, oder... :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
yogo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Mi 11.03.09 14:02 
Ich bin zwar nicht so das Delphi-Genie, aber ich würde es mit einem Ini-File machen, für jede Datei eine Section und dadrin die Werte die du haben willst:
(Die Frage war doch, wie man die Werte speichert und nicht, wie man sie ausliest, oder?)

ausblenden Quelltext
1:
2:
3:
4:
[test.txt]
note1=keks
note2=krümelt
janein=false


dann kannst du, wenn du wieder drauf zugreigen willst, kannst du z.B.:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
private
  datei: array[1..50 of string;
  notecount: array[1..50of integer;
  dateicount: integer;
  ini := TIniFile;
  //für die notes selber müsstest du vermutlich ne klasse schreiben(datei[1].note[1] usw.)
...
var zhlr, schlf: integer;
    janein[1..50]: boolean;
    
try
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'wowtools.ini');
  ini.readsections(listbox1.items);
  benutzelistbox;//darin vlt. alles in einen Array speichern; alle dateinamen in nen array und die anzahl in dateicount festhalten 
  for schlf := 1 to dateicount do
  begin
    ...//hier mit readsectionvalues die anzahl der notes-werte auslesen
    for zhlr := 1 to notecount[schlf] do
      note := ini.ReadString(datei[schlf], 'note'+IntToStr(zhlr), '');
    datei[schlf].note[zhlr] := ini.ReadString(datei[schlf], 'janein''false');
  end;//for schlf := 1 to dateicount do
finally
  ini.free;
end;//try -- finnally



vlt. liege ich ja komplett falsch, aber hoffentlich hast du ne idee, wie es besser nicht macht. :-p
rizla Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Mi 11.03.09 14:02 
Hoi!
Joa, TObjectList hab ich auch schon gehört. Dann google ich mal, danke dir!

Edit:
www.howtodothings.co...ing-tobjectlist.html sollte wohl das richtige sein, wa ;)

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.