AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Daten aus einer Datei wie am besten im Programm zur Verfügung stellen
Thema durchsuchen
Ansicht
Themen-Optionen

Daten aus einer Datei wie am besten im Programm zur Verfügung stellen

Ein Thema von a.def · begonnen am 2. Apr 2017 · letzter Beitrag vom 2. Apr 2017
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

Daten aus einer Datei wie am besten im Programm zur Verfügung stellen

  Alt 2. Apr 2017, 13:43
Ich arbeite gerade an einem kleinen Projekt welches nur für mich gedacht ist.
Hierbei geht es darum Fahrradtouren zu speichern und später einsehen zu können.

Wie stelle ich die ausgelesenen Daten (CSV-Format) im Programm am besten zur Verfügung?
TObjectlist? Record? Ich möchte später im Programm auf jede Tour zugreifen können ohne jedes Mal in die CSV-Datei gucken zu müssen.
Oder ist das falsch gedacht und in die Datei gucken und auslesen wenn ich es brauche wäre besser?
  Mit Zitat antworten Zitat
Benutzerbild von Kathmai
Kathmai

Registriert seit: 3. Sep 2003
Ort: Böblingen
21 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Daten aus einer Datei wie am besten im Programm zur Verfügung stellen

  Alt 2. Apr 2017, 14:11
Hallo,

Bei so was würde ich Excel einsetzen. Vorausgesetzt Du kennst Dich damit aus.
Import der CSV Datei und Auswertungsfunktionen/Statistiken sind schneller als in Delphi gemacht...

Zu Lernzwecken in Delphi würde ich aber ein eigenes Object erstellen.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: Daten aus einer Datei wie am besten im Programm zur Verfügung stellen

  Alt 2. Apr 2017, 14:30
Bleib mir bloß weg mit Excel ich hasse dieses Programm
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Daten aus einer Datei wie am besten im Programm zur Verfügung stellen

  Alt 2. Apr 2017, 14:45
Also da würde ich mir eine Datenbankanwendung schreiben.

Als Datenbank die KbmMemTable nutzen.

Es handelt sich hierbei um Textdateien, die in einem CSV-Datei-ähnlichen Format vorliegen (kann man problemlos mit anderer Software erstellen. Das Format muss halt stimmen und der Header (einfacher Text) muss syntaktisch korrekt sein.

Es ist also keine "richtige" Datenbank. Die Anzeige kann aber trotzdem über ein DBGrid erfolgen, die Daten können per Index unterschiedlich sortiert werden, das Setzen von Filtern ist möglich ...

Ist eigentlich, wenn die Datenmenge nicht zu groß wird, äußerst flexibel einzusetzen.

Hier im Forum suchenKbmMemTable

So 'ne Tabelle sieht als Datei prinzipiell so aus:
Code:
"@@FILE VERSION@@","251"
"@@TABLEDEF START@@"
"ToplevelDomain=String,250,""ToplevelDomain"","""",18,Data,"""""
"Country=String,250,""Country"","""",12,Data,"""""
"@@INDEXDEF START@@"
"ToplevelDomain=""ToplevelDomain"",""ToplevelDomain"""
"Country=""Country"",""Country"""
"@@INDEXDEF END@@"
"@@TABLEDEF END@@"
"ToplevelDomain","Country",
".ac","Ascension Island",
".ad","Andorra",
".ae","United Arab Emirates",
".aero","air-transport industry",
Ob man Zeichenfolgen in " und mit , getrennt haben möchte oder lieber andere Zeichen verwendet, kann man konfigurieren.
Einfache CSV-Dateien kann man in der Regel mit marginalem Aufwand in den Datenteil der KbmMemTable konvertieren.

Ansonsten: ClientDataSet und alles was damit zusammen eine Datenbankanwendung möglich macht.

Ein Datenbankserver ist in beiden Fällen nicht erforderlich.

Über TAdo ... auf 'ne Accessdatenbank zugreifen. Access ist dafür natürlich nicht erforderlich.

Über TADO ... kann man auch auf Exceltabellen zugreifen ohne dazu Excel benutzen zu müssen.
'ne Abneigung gegen Excel heißt nicht zwingend, dass man das dahinterliegend Dateiformat nicht nutzt. Das sind zwei Paar verschiedene Schuh.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#5

AW: Daten aus einer Datei wie am besten im Programm zur Verfügung stellen

  Alt 2. Apr 2017, 14:59
Danke für die Antworten soweit schon einmal.
In der Zeit habe ich mal folgendes gemacht:

Delphi-Quellcode:
type
 PTouren = ^TTouren;

 TTouren = class
  iTimestamp, iKM, iSpeedMax, iSpeedAverage, iMinutesNeeded, iWeightCurrent: Integer;
  sPlacesVisited: String;
 end;

type
 TTourColors = record
 const
  cMoreThanLastTour = $0015B200;
  cEqualLastTour = $0000A9FF;
  cLessThanLastTour = $000000D4;
 end;

// ---
private
 aTourEntry: TTouren;
 aTourList_ObjectList: TObjectList<TTouren>;

// Touren werden dann noch geladen und ein Objekt wird erstellt (mit einer StringList und sl.Items[X].Split[';;'])
aTourEntry := TTouren.Create;
// ... füllen und hinzufügen
aTourList_ObjectList.Add(aTourEntry);
Chart1.Series[0].Add // ...
Die Form sieht aktuell chaotisch aus und ist nur zum Testen da...
Miniaturansicht angehängter Grafiken
unbenannt.png  
  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 01:17 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