AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Inis, Arrays oder doch Datenbanken?
Thema durchsuchen
Ansicht
Themen-Optionen

Inis, Arrays oder doch Datenbanken?

Ein Thema von zecke · begonnen am 10. Jan 2007 · letzter Beitrag vom 10. Jan 2007
Antwort Antwort
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#1

Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 14:54
allesamt

ich bin mir etwas unschlüssig, wie ich eine bestimmte Struktur von Daten realisieren soll

Ich habe ungefähr sowas:
Code:
  A > A
      B > A
      C   B
B    :   C
C    :   D
D         :
:         :
:
Also einen Wert A, über den ergeben sich ein paar weitere Werte. Wenn man dann einen von diesen Werten auswählt, ergeben sich wieder ein paar neue Werte. Das war's dann. Also drei Subkategorien.

Ich liebe Inis und wollte deswegen mit ihnen arbeiten, aber das würden dann gegen Ende des Projektes nahezu 400 Dateien werden, also Ini-Dateien. Ich glaube, dass kann ich einfach nicht bringen. Allerdings sind Inis eben auch ohne Code leicht editierbar, weswegen ich die noch nicht abschreibe. Miene Frage ist jetzt, ob es geschickter wäre die obige Struktur mit Arrays oder doch einer Datenbank zu realisieren?

mfg zecke
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 14:58
Also ganz klar ist mir deine Übersicht nicht,
sieht aber eher nach einer Array-Lösung auch.
Musst du die Werte permanent speichern?

René
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 15:02
hi,

ja ich weiß nicht recht, wie ich es veranschaulichen soll. Im Grunde brauche ich einen Wert, dem ich weitere Werte einverleibe, und diesen einverleibten Werten, weitere einverleibe. Mit Inis sicherlich ungeeignet, aber es fällt mir eben am einfachsten.

Die Werte werden dauerhaft gespeichert und sollen mit einem anderen programm jederzeit editiert werden. Laden/Speichern wird auch oft der Fall sein, aber nicht in regelmäßigen Abständen.

Hoffe es hilft weiter

edit: habe die Darstellung oben nochmal bearbeitet.
mfg zecke
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 15:12
Müsste doch auch als INI machbar sein hrm... etwa so eine Struktur:

Code:
[Root]
Count=4
Caption0=blah
SubItems0=SI0
Caption1=blubb
SubItems1=SI1
Caption2=bling
Caption3=blopp

[SI0]
Count=2
Caption0=xxx
Caption1=yyy
SubItems1=SI2

[SI1]
Count=3
Caption0=aaa
Caption1=bbb
Caption2=ccc

[SI2]
Count=...
Caption0=...
SubItems0=...

:
:
Damit wäre alles in einem File. Dazu müsstest du halt spezielle Load und Save-Routinen basteln
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 15:16
Inis sind eigentlich ziemlich eklige Viecher.
Wenn du mit Arrays typisierte Dateien meinst, ebenfalls eklig. Und Arrays sind im Code auch noch friemelig, weil sie ja nur strunzdumme primitive Typen sind...
Kiek dir mal die Hier im Forum suchendpCollection an, vllt magst du es ja.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von St.Pauli
St.Pauli

Registriert seit: 26. Dez 2004
351 Beiträge
 
Delphi 7 Personal
 
#6

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 15:37
Ich habe deinen Aufbau nicht ganz verstanden , aber eventuell willst du deine Daten (so wie es für mich aussieht) hierarchisch speichern. Benutze doch XML.
Gruß St.Pauli
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 17:15



Zitat von St.Pauli:
Ich habe deinen Aufbau nicht ganz verstanden Wink , aber eventuell willst du deine Daten (so wie es für mich aussieht) hierarchisch speichern. Benutze doch XML.
Das sieht gut aus, XML! Problem ist nur, dass ich sehr unübersichtliche Lade/Speicher-Prozeduren machen müsste, da ich bis zu 40 Werte auf ein mal auslesen muss. Ich würde zwar nur die Standard-Komponente von Delphi nehmen, aber das sollte ähnlich funktionieren (wenn ich mir da so die Funktionen anschaue). Werde mir XML aber mal anschauen (hier in der DP z.B.), vielleicht kann ich das ja auch zurecht stückeln.

Zitat von Elvis:
Inis sind eigentlich ziemlich eklige Viecher.
Wenn du mit Arrays typisierte Dateien meinst, ebenfalls eklig. Und Arrays sind im Code auch noch friemelig, weil sie ja nur strunzdumme primitive Typen sind...
Kiek dir mal die Suche in der Delphi-PRAXiSdpCollection an, vllt magst du es ja.
Inis sind ganz tolle Viecher

Habe mir mal dieses hier aus der Code-Lib angeschaut. Ich glaube, ich bin zu faul da durchzusteigen. Abgesehen davon, würde ich ungern andere Units einbinden wollen, geschweige denn soetwas komplexes selbst basteln.

@cruiser: Ja alles in eine zu packen wäre auch eine Möglichkeit (auf die ich natürlich nicht gekommen bin ). Werde ich wohl mal antesten

Danke vorerst für die Antworten, darauf kann ich schon mal aufbauen
mfg zecke
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Inis, Arrays oder doch Datenbanken?

  Alt 10. Jan 2007, 17:37
Zitat von zecke:
Abgesehen davon, würde ich ungern andere Units einbinden wollen, geschweige denn soetwas komplexes selbst basteln.
Heul' nich' gleich rum...

Delphi-Quellcode:
type
  TEinstellung = class(TCollectionItem)
  published
    property SomeString : String
      read fSomeString
      write fSomeString;
    property BliBlaBlupps : TmxJsCollection read fBliBlaBlupps;
  end;

  TBliBlaBlupp = class(TCollectionItem)
  published
    property EinInteger : Integer
     read fEinInteger
     write fEinInteger;
  end;

....

constrcutor TEinstellung...
  fBliBlaBlupps := TmxJsCollection.Create(TBliBlaBlupp);
...
Delphi-Quellcode:
var
  einstellung : TEinstellung;
  einstellungen : TmxJsCollection;
begin
  einstellungen := TmxJsCollection.Create(TEinstellung);

  einstellung := einstellungen.Add() as TEintellung;
  for i := 1 to 100 do
  begin
    with einstellung.BliBlaBlupss.Add() as TBliBlaBlupp do
      EinInteger := i;
  end;

  einstellungen.SaveToFile('plaintext.txt');
  einstellungen.Binary := true;
  einstellungen.SaveToFile('binary.bin');
Ausgelesen wird einfauch nur noch das hier und gut ist:

Delphi-Quellcode:
var
  einstellung : TEinstellung;
  einstellungen : TmxJsCollection;
begin
  einstellungen := TmxJsCollection.Create(TEinstellung);
  einstellungen.LoadFromFile('plaintext.txt');

  for i := 0 to einstellungen.Count - 1 do
  begin
    einstellung := einstellungen[i] as TEintellung;
    writeLn(einstellung.SomeString);
    for j := 0 einstellung.BliBlaBlups.Count - 1 do
      writeLn('-> ', TBliBlaBlupp(einstellung.BliBlaBlups[j]).EinInteger);
  end;
Dat ist hierarchisch und beim Definieren der Klassen zum Halten der Daten bestimmst du die Struktur der Datei gleich mit.
Außerdem kannst du Daten laden, die mit einer vorherigen Version deines Programmes gespeichert wurden, da DFM streaming abwärtskompatibel ist. (Du kannst ja auch ein D7 Form in BDS2006 öffnen )
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz