Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datentabelle ohne Datenbank (https://www.delphipraxis.net/192950-datentabelle-ohne-datenbank.html)

H.Bothur 5. Jun 2017 16:55

Delphi-Version: 10 Berlin

Datentabelle ohne Datenbank
 
Moin,

ich stehe etwas auf dem Schlauch weil ich das noch nie gemacht habe :-) Ich lese immer wieder das man Datenstrukturen wie Adressdaten nicht in einem StringGrid oder DBGrid vorhalten soll sondern das das Grid nur zur Anzeige dienen soll.

Wenn ich aber nur eine CDV-Datei - also keine Datenbank habe - brauche ich ja eine Tabelle oder ähnliches in das ich meine Daten einlese. Nur ... was nehme ich dann ??

Wie gesagt, die Daten bleiben ein CSV, ich will nur eine Tabelle uf die mit "Zelle[X,Y]" oder ähnliches zugreifen kann.

Hans

DeddyH 5. Jun 2017 17:04

AW: Datentabelle ohne Datenbank
 
Da bietet sich doch eine MemoryTable an, so wie TFDMemTable von FireDAC oder das klassische TClientDataset.

jobo 5. Jun 2017 19:57

AW: Datentabelle ohne Datenbank
 
Zitat:

Zitat von H.Bothur (Beitrag 1373491)

Wie gesagt, die Daten bleiben ein CSV, ich will nur eine Tabelle uf die mit "Zelle[X,Y]" oder ähnliches zugreifen kann.

Kleiner Hinweis am Rande:
Zelle[x,y] klingt mir viel zu sehr nach spreadsheet (LO,OO, Excel,...), als dass ich von Datenbank reden würde. Ein Koordinatenzugriff unterscheidet sich fundamental von einem relationalen Datennamkzugriff, auch wenn es in einem DB Grid verdammt ähnlich aussieht und es viele Möglichkeiten gibt, die Unterschiede zu verwischen.

Also vielleicht nochmal genau nachdenken, was man lieber haben möchte.
Ist aber vielleicht nur Korinthenk.. von mir.

H.Bothur 5. Jun 2017 22:11

AW: Datentabelle ohne Datenbank
 
Zitat:

Zitat von DeddyH (Beitrag 1373492)
Da bietet sich doch eine MemoryTable an, so wie TFDMemTable von FireDAC oder das klassische TClientDataset.

Danke - ich lese mich da mal rein😀

Hans

H.Bothur 5. Jun 2017 22:18

AW: Datentabelle ohne Datenbank
 
Zitat:

Zitat von jobo (Beitrag 1373497)
Zitat:

Zitat von H.Bothur (Beitrag 1373491)

Wie gesagt, die Daten bleiben ein CSV, ich will nur eine Tabelle uf die mit "Zelle[X,Y]" oder ähnliches zugreifen kann.

Kleiner Hinweis am Rande:
Zelle[x,y] klingt mir viel zu sehr nach spreadsheet (LO,OO, Excel,...), als dass ich von Datenbank reden würde. Ein Koordinatenzugriff unterscheidet sich fundamental von einem relationalen Datennamkzugriff, auch wenn es in einem DB Grid verdammt ähnlich aussieht und es viele Möglichkeiten gibt, die Unterschiede zu verwischen.

Also vielleicht nochmal genau nachdenken, was man lieber haben möchte.
Ist aber vielleicht nur Korinthenk.. von mir.

Nööö .... ich denke mal das ist der Unterschied zwischen einem Laien wie mir und jemandem der weiß was er tut. Aber natürlich kann man das auch anders sehen .... als Felder in einer Datenbank oder Records ,.. ich habe immer noch die Zeilenorientierte Fenkweise drauf weil ich mich in der Hinsicht (genauso wie bei OOP) nie weiter entwickelt habe - aber für das was ich mache reicht es im Regelfall.

Aber .... wenn es passt (und jetzt passt es vom Thema und auch zeitlich) dann lerne ich gerne 😀

Hans

p80286 6. Jun 2017 08:39

AW: Datentabelle ohne Datenbank
 
Der Einwand von Jobo ist wichtig, da die "Tabelle" nur das Ergebnis einer DB-Abfrage sein kann also
DB -> Datentabelle -> AnzeigeGrid.
Ich verwende als Datentabelle, also als Zwischenschicht, in den meisten Fällen eine Stringlist (nicht numerische Daten). Ersetze ich die DB-Schnittstelle durch ein CSV-Modul kann ich problemlos CSV-Dateien anzeigen.
Natürlich kann man auch ein ClientDataset verwenden, je nach enthaltenen Daten ist dieses auch zu bevorzugen, nur sollte man sich durch die Begrifflichkeit "Dataset/Database" nicht verwirren lassen.

Gruß
K-H

ConnorMcLeod 6. Jun 2017 09:04

AW: Datentabelle ohne Datenbank
 
Bei den JEDIs gibt es ein TJvCsvDataSet ...

H.Bothur 6. Jun 2017 13:00

AW: Datentabelle ohne Datenbank
 
Zitat:

Zitat von p80286 (Beitrag 1373508)
Ich verwende als Datentabelle, also als Zwischenschicht, in den meisten Fällen eine Stringlist (nicht numerische Daten). Ersetze ich die DB-Schnittstelle durch ein CSV-Modul kann ich problemlos CSV-Dateien anzeigen.

Moin,

jetzt verwirrst Du mich etwas - eine StringList ist doch aber immer eindimensional - sprich man kann immer nur einen ganzen String lesen.
Dann muss man doch aber bei jedem Zugriff aus dem String die einzelnen Felder extrahieren, oder ??

Hans

p80286 6. Jun 2017 22:36

AW: Datentabelle ohne Datenbank
 
Ja, aber nur einmal (kommt auf die Anwendung an), in (bei mir) seltenen Fällen nutze ich auch eine Tlist mit records (bin da sehr konsevativ) vor allem wenn es sich um vorher bekannte Felder handelt.


Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 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