![]() |
Dateien erstellen beste methode??? Oder vllt doch eine DB
Hallo
Ich muss ein paar daten speichern. und zwar Pro Lok (Der absolute maximal wert liegt bei ca 16.000 loks wird aber aus kostengründen nie erreicht) Ca 20 Strings Array mit 128 einträgen Ca 25 Byte welches ist die beste bzw einfachste methode solche mengen an daten zu speichern und später wieder zu laden. eine Datenbank(muss dazu sagen das ich sowas noch nie benutz habe) Oder doch eine .CSV datei?? Ich muss die daten später in den ram laden können und dann bestimmte werte dabei verändern und später wieder zurückspeichern können. MfG snow |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Bei dieser Datenmenge würde ich eine DB verwenden.
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
geht natürlich auch mitm file, aber wenn du anfängst suchen zu wollen ist glaub ich ne db performanter :)
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
hallo ich hab im netz (dsts) folgendes gefunden
Zitat:
ich benutze aber lazarus hab also sowieso nix von borland. Muss ich eine solche engine auch bei lazarus mitgeben und wenn ja welche?? MfG snow |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Die BDE würd ich eh nicht mehr verwenden. Da würde sich Zeos als Zugriffskomponenten und FB oder MySQL als DBMS eigenen.
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Hallo!!
Für solche Zwecke verwende ich die One-File Datenbank-Komponente Absolute Database von ComponentAce. Die DB-Enginge kompiliert direkt in die EXE-Datei und unterstützt SQL. Wäre ein Versuch wert. Für privatnutzung kostenlos. Keine Ahnung, ob es mit Lazarus funktioniert - musst einfach mal schauen. SCRaT |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Wohl nicht:
Zitat:
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
![]() MfG snow |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Das ist aber nur eine Zugriffskomponente für dBase-Dateien.
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Bei Maximal 16000 Datensätzen eine Datenbank ?
Ist das nicht "ein wenig" übertrieben ? ich würd einfach ne Datei nehmen n typisiertes File oder so. |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Natürlich würde es auch mit einer datei funktionieren, der Aufwand wäre aber um einiges höher.
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
wenn ich eine datenbank nutze kann ich alle daten in eine datei quetschen. sonst würde ich z.B noch eine weitere datei für gleise, Magnetartikedecoder, Rückmeldedekoder, Blockverwaltung, Interfaceverwaltung, Versions und Regestry-key verwaltung usw usw erstellen.
jetzt pack ich all den kram in eine datenbank und deckel drauf. SO eine datenbank macht das dann auch übersichtlicher als z.b .csv dateien.und warum sollten 16.000 datensätze zu wenig sein? eine firma die 16.000 kunden hat nutz auch eine datenbank. Außerdem kann man eine datenbank einfacher erweitern( eine datenbank von meinem programm der version 1.0 lässt sich nacher auch in 2.0 lesen) MfG snow |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Probier es mit Firebird und
![]() Gruss Sascha |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Zitat:
@Snow bei ein paar tausend Datensätzen lohnt sich weder für eine Kundendatenbank noch ne Lokverwaltung ne Datenbank, und das Argument mit alles in einer Datei ... Du hast bei nem Datenbanksystem nie nur eine Datei. Du brauchst auch mehrere Tabellen wenn du z.b. TDbf nimmst was sicherlich noch das ökonomischste wäre brauchst du trotsdem eine Tabelle für Loks eine für Schienen usw. das kommt alles aufs selbe raus und warum soll deine Version 2 das Dateiformat plötzlich nicht mehr lesen können ?! |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Aber wieviel Datensätze lohnt sich deiner Meinung dann der Einsatz eines DBMS?
Zudem benötigt die Installation des Servers, der übrigens nicht unbedingt nötig ist, nicht lang. |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
bei lazarus steht das alle komponenten schon dabei sind. mögliche typen sind
[quote]# 3 dBase III+ # 4 dBase IV # 7 Visual dBase VII # 25 FoxPro[delphi] will ein bissel schreibarbeit sparen desshalb will ich einen von dehnen nehmen. MfG snow Zitat:
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Nur diese sind alle veraltet
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Ein DBS lohnt sich ab dem zeitpunkt wo eine Suchanfrage länger als ein paar sekunden dauern würde oder man zuviele Abhängigkeiten zwischen den daten hat. Beides hier lang nicht gegeben.
Wiso ? DBase 7 ist das neueste DBase da ich kenne ?! Und mit TDbf kann man wirklich gut leben ist für den fall schon mit Kanonen auf Spatzen geschossen aber wenn er unbedingt ne Datenbank machen will so ist er wenigstens Serverunabhängig. Was ist denn bitte ein veraltetes format ? Textdateien gibts seit anbeginn der Computergeschichte ist das deswegen jetzt veraltet ? Bloss weil es gerade keinen Hype um irgendwas gibt ist es nicht veraltet. |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Ich meinte nicht die dBase-Version sonder dBase an sich.
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Zitat:
"Inter-City-Express" Wird sie in einem Zug verwendet und in welchem block ist der zug und wann wird er Block xyz erreichen und wieder verlassen. Der zustand jeder weiche jedes Signals muss immer parrat sein um zusammenstöße zu vermeiden. Auf einer ganz großen anlage (Miniatur Wunderland oder auch einer anderen Show-anlage) kommen da schon ganz schöne mengen an daten zusammen. MfG snow |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Dann würd ich leiber ne Typisierte Datei nehmen beim Datenbanksystem hast du schon Zeit fürs bauen der Anfrage und co verschwendet.
Die Anfrage selbst dauert auch etwas zu bearbeiten. Deine kleine Datei zu durchsuchen dauert bloß n paar ms. Das mit den Sekunden waren für mich Abgrenzungskriterien. Du wirst bei deinen 16000 Datensätzen nie mehr als 100ms brauchen um den entsprechenden Datensatz gefunden zu haben. |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Zitat:
15 Zeilen Quelltext scheinen mir aber ehrlich gesagt etwas zu optimistisch veranschlagt. Eine Einarbeitung in SQL ist meiner Meinung bei einer einfachen Datenbank sogar z.T. gar nicht notwenig. Ein paar Einstellungen und Filter im OI reicht fürs ERSTE aus. Vorteil: Durch Einarbeitung in SQL lässen sich SPÄTER auch komplizierte Abfragen erzeugen - sollte es notwenig werden. Und mal Hand aufs Herz: Simple SQL-Abfragen sind wirklich kein Problem, wenn man mal ein paar Stunden SELECT-Abfragen geübt hat (bezieht sich auf einfache Queries). Zitat:
Was ist, wenn ich plötzlich ein zusätzliches Feld benötige? Bei einer DAtenbank lässt sich eine Tabelle einfach erweitern und den Source entsprechend leicht anpassen. Bei einer typisierten Datei müsste man das ganze Dateiformat in ein neues konvertieren , da sich ja auch die Record-Größe geändert hat (oder liege ich da falsch?). Liebe Grüße, SCRaT |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
lässt sich eine datenbank nicht übersichtlicher ansprechen oder?
Bei einer datenbank lassen sich einträge doch besser überschreiben oder? Da es bei einer Datenbank doch keine Doppelten einträger geben kann oder??? Ich glaub ich bleib aber bei ner datenbank will mal was neues können?? Zitat:
MfG snow |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Zitat:
2 meinevariable : integer; 3 end; 4 var 5 f: file of test; 6 daten : test; 7 assignfile('test.dat'); 8 rewrite(test); 9 write(f,daten); 10 closefile(f); Mhm, optimistisch ? Zitat:
Zitat:
Ne schon ok TDbf ist ganz ok für die Anwendung. |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Zitat:
Zitat:
Zitat:
|
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Nimm eine lokale Datenbank. Wenn Du irgendwann das Schienensystem der Deutschen Bahn verwaltest, kommst Du mit Textdateien nicht weit :mrgreen:
Damit fährst Du aus meiner Sicht in jedem Fall gut, egal, wieviele Datensätze Du hast. Du bist viel fexibler als bspw. mit typisierten Dateien. Man entwickelt eine Software vorausschauend. Da ist es falsch, etwas zu behaupten wie 'Och, ich habe max. 16000 Datensätze. Diese Zahl wird aber nur theoretisch erreicht.' Niemand weiss, was kommen wird - auch wenn das Beispiel mit der Deutschen Bahn sicherlich Utopie ist :wink: Und wenn Du Dich in das Thema DBs erstmal eingearbeitet hast, dann lässt sich das Prinzip sehr gut auf Folgeprojekte übertragen. Meine Meinung: Investiere ruhig die Zeit (wenn Du sie hast), Dich mit Datenbanken auseinander zu setzen; Du wirst es später sicherlich nicht bereuen. Zur Auswahl stehen einige, die sich lokal nutzen lassen: Firebird SQLite dBase Solltest Du zu dBase greifen, so empfehle ich Dir die ADS-Komponenten von ExtendedSystems. Diverse Tutorials zu Firebird bzw. Links zu diesen findest Du hier im Forum. Edit: Ich habe glatt vergessen, dass Du Lazarus benutzt; damit hätten sich der Einsatz der ADS-Komponenten glaube ich erübrigt. Mit den Turbo-Editionen funktionieren sie allerdings. Btw: Hast Du vor, Deine Gleissystem-Anwendung irgendwann auch nach Linux zu portieren? |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Wäre XML keine Möglichkeit? Bei Delphi gibts wenn ich mich nicht täusche ne Komponente dafür, vllt gibts die bei Lazarus auch?
Allerdings wenn es mal mehr werden sollte würde ich auch eher eine Datenbank empfehlen. so viel aufwand ist es nicht eine MySQL-Server-Anwendung zu installieren und darauf zuzugreifen. |
Re: Dateien erstellen beste methode??? Oder vllt doch eine D
Komponente für dem Zugiff auf FB für Lazarus:
![]() benötigt ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 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