AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Textdatei als Datenbank nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei als Datenbank nutzen

Ein Thema von Opa Knack · begonnen am 17. Jan 2005 · letzter Beitrag vom 17. Jul 2017
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.441 Beiträge
 
Delphi 12 Athens
 
#1

AW: Textdatei als Datenbank nutzen

  Alt 15. Jul 2017, 08:30
Moin...
Zitat:
17. Jan 2005, 02:40
In den 12 Jahren hat sich einiges getan.
Zitat:
Es gibt bestimmte Zutaten mit verschiedenen eigenschaften. zB.: Eier : 100% Protein, xx% Fett usw...
Das sind Daten für ein klassisches DBMS. Die Datenbanken sind dafür ausgelegt Daten "herauszusuchen". Mal angenommen, du willst eine Liste mit den Rezepten haben, sortiert nach der Fettmenge. Mir einer TXT/CSV/XML hast du mehr Aufwand als nötig.
Meine Daumenregel:
TXT/CSV/XML als Datenaustauschformat ist in Ordnung wenn die Daten nur readonly sind. Alles Andere gehört in ein DBMS.

Wie es die Andreren schon bemerkten:
Zitat:
Für komplexere Anwendungsfälle zum Speichern gerne ein DBMS

Zitat:
Willst Du eine interne Struktur (z.B. TList) mit Daten füllen, ist CSV keine schlechte Wahl.
! nur readonly

Empfehlung für ein DBMS:
Firebird:
https://de.wikipedia.org/wiki/Firebird_(Datenbank)
https://www.firebirdsql.org/en/server-packages/ für den Anfang die Version 2.5
Firebird Vorteile:
* minimaler Installationsaufwand (ca. 10 Minuten)
* Ein Datenbankfile.
* Das Datenbankfile kann man z.b. auf einen USB Stick kopieren und wieder zurück.
* Wechsel zwischen Multiuser und Einzelplatz ohne Aufwand möglich.
Datenzugriff
* Zeos: https://sourceforge.net/projects/zeoslib/
* Tutorial: https://www.delphi-treff.de/tutorial...-und-firebird/
Admin Tool
* IBExpert Personal: http://ibexpert.net/IBE/index.php?n=...ersonalEdition
Datenbank Tutorial
* ! es geht nur ums Prinzip. https://www.youtube.com/watch?v=eNWqPw_73vU ...und folgende.

Zitat:
Diese Daten würde ich gerne in einer .txt Datei oder so ähnlich gespeichert haben.
Ein Tretauto ist auch ein Auto. Aber würdest damit in den Urlaub fahren? Mit einer Datenbank hast du etwas mehr Lernaufwand. Wenn du aber die Vorteile erkannt hast, willst du es nicht mehr missen.

Stichworte:
http://docwiki.embarcadero.com/Libra...ta.DB.TDataSet
http://docwiki.embarcadero.com/Libra...DB.TDataSource

..jetzt hast du mal Brot.

Geändert von haentschman (15. Jul 2017 um 16:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Textdatei als Datenbank nutzen

  Alt 15. Jul 2017, 09:01
@haentschman
Ich vermute, er scheut den "Aufwand" für eine DB, und leider hast Du die notwendigen Komponenten für den DB-Zugriff erst ab Prof. an Bord. Da schreckt man schon mal gerne zurück.

Gruß
K-H

P.S.
Gerade gesehen, er hat ja die prof Version, da sollte es ja gut gehen.
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.119 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Textdatei als Datenbank nutzen

  Alt 16. Jul 2017, 16:44
Danke FAlter für den Hinweis mit CommaText und DelimitedText.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Textdatei als Datenbank nutzen

  Alt 17. Jul 2017, 10:07
Danke FAlter für den Hinweis mit CommaText und DelimitedText.
Schau Dir mal folgendes an: http://www.delphipraxis.net/164041-c...ntdataset.html

Das ist ein einfacher Classhelper um CSV Dateien mit einem TClientDataset Lesen / Schreiben zu können.

Das habe ich dort auch mit 2 TStringList gemacht.

Delphi-Quellcode:
...
   // folgender Quelltext ist nur im Editor der DP geschrieben, nicht getestet ;)
   slFile := TStringList.Create;
   slRow := TStringList.Create;
   try
     slRow.Delimiter := ';';
     slRow.QuoteChar := '"';
     slRow.StrictDelimiter := True;
     slFile.LoadFromFile('C:\TEMP\TEST.CSV');

     for i := 0 to slFile.Count - 1 do
     begin
       slRow.DelimitedText := slFile[i];
       for j := 0 to slRow.Count - 1 do
       begin
         myArray[i,j] := slRow[j];
       end;
     end;
  finally
     slFile.Free;
     slRow.Free;
   end;
...
Das habe ich vor über 6 Jahren gemacht um leicht auf meine Logfiles zugreifen zu können.
Für die CodeLib hab ich dann noch das Schreiben implementiert.

Das Ganze dient aber auch als nettes Beispiel für einen ClassHelper
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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 02:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz