Money Making Machinist Geschrieben 25. Februar 2005 Geschrieben 25. Februar 2005 Hi, also welche Möglichkeiten, hätte ich Werte extern (also nicht in einer .exe ), sondern in Dateien zu speichern? Mir fällt halt nur .txt ein. Vorschläge? Achja es wäre nett, Vorschläge in zwei Kategorien zu schreiben, in 'only one OS' und ' Cross-Platform': So weiß ich dann nachher was ich dann für welches Projekt nehmen kann und was nicht. Danke schon mal im Vorraus. Zitieren
carstenj Geschrieben 25. Februar 2005 Geschrieben 25. Februar 2005 Hi, es kommt immer drauf, an was mit den Wert passieren soll. Es gibt ja u.a die Möglichkeit, CSV (Comma separated values) zu speichern, die dann von vielen Programm (u. a. auch Excel) gelesen werden können. Weiterhin gibt es die Möglichkeit, XML Datein zu schreiben, was aber sehr komplex sein kann. Unter C++ gibt es beispielsweise Xerces, womit man sowas bewerkstelligen kann. XML ist ein Format, was sehr häufig eingesetzt, u. a. zum Austauschen zwischen mehreren Programm, oder J2EE und das .Net Framework machen davon häufigen Gebrauch. Ferner gibt es YAML (http://www.yaml.org/), was eine ähnlliche Funktion wie XML erfüllt, aber um einiges einfacher und intuitiv einzusetzen ist. Daneben bieten sich auch Datenbanken an, z. B. MySQL oder SQLite. Man sollte natürlich vorher genau abwägen, wie umfangreich die Daten sind, die extern gespeichert werden und um welche Art es sich handelt. Wenn du deine Daten natürlich für den Eigenbedarf nutzen möchtest, ist txt völlig ausreichend. Zitieren
perdian Geschrieben 25. Februar 2005 Geschrieben 25. Februar 2005 also welche Möglichkeiten, hätte ich Werte extern (also nicht in einer .exe ), sondern in Dateien zu speichern? Mir fällt halt nur .txt ein. Die Möglichkeiten nehmen da gar kein Ende... je nachdem, wie komplex du werden willst. Was mir spontan einfallen würde, und was für kleine Anwendungen eigentlich fast immer ausreicht sind TXT/INI/etc. und XML. In Java beispielsweise könntest du auch ein Object direkt in ein File serialisieren, was zwar äusserst dreckig aber dennoch machbar wäre. Dann gäbe es auch noch file-basierte Datenbanken - aber das ist dann wirklich mit Kanonen auf Spatzen geschossen. Zitieren
baba007 Geschrieben 25. Februar 2005 Geschrieben 25. Februar 2005 in C kann man doch den Datentyp sogar selber festlegen. wenn du willst XXX oder VVV oder was auch immer. Zitieren
Bubble Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 Vorschläge? Achja es wäre nett, Vorschläge in zwei Kategorien zu schreiben, in 'only one OS' und ' Cross-Platform': So weiß ich dann nachher was ich dann für welches Projekt nehmen kann und was nicht. Windows: Registry Es gibt auch API Funktionen, die den Umgang mit INI-Dateien erleichtern. Evtl. reicht Dir das schon. Alle: Eine Datei beliebigen Aufbaus. Ob binär oder lesbar, ob TXT, CSV oder XML: Alles Deine Entsheidung. Such Dir was aus! Eher nur in Ausnahmen sinnvoll: Datenbank. Zitieren
Bubble Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 In Java beispielsweise könntest du auch ein Object direkt in ein File serialisieren, was zwar äusserst dreckig aber dennoch machbar wäre. Von einer automatischen Serialisierung von Objekten würde ich allerdings dringend abraten, da man sein Programm sicher auch weiterentwickelt und dabei Bedarf entstehen kann, mit ältren Daten umzugehen. Zitieren
Money Making Machinist Geschrieben 26. Februar 2005 Autor Geschrieben 26. Februar 2005 Seh ich das richtig: .ini nur unter Windows? Zitieren
carstenj Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 Hi, .ini Dateien haben unter Windows eine besondere Bedeutung, du kannst aber natürlich jede Datei XYZ.ini nennen. Es ist vielleicht sinnvoller, wenn du mal sagst was du machen möchtest, denn wie du schon festgestellt hast, gibts nahezu unendlich viele Möglichkeiten, seine Daten zu speichern. Im Extremfall kann man sogar eigene Formate erstellen. Eher nur in Ausnahmen sinnvoll: Datenbank. Natürlich ist eine Datenbank schon eine etwas komplexere Möglichkeit, aber als so große Ausnahme würde ich das gar nicht sehen. Spätestens dann, wenn die Daten durchsuchbar sein sollen, bietet sich sowas an. Und sobald man beispielsweise Adressen speichert, ist eine Suchmöglichkeit sehr sinnvoll. Zitieren
Money Making Machinist Geschrieben 26. Februar 2005 Autor Geschrieben 26. Februar 2005 Hi, .ini Dateien haben unter Windows eine besondere Bedeutung, du kannst aber natürlich jede Datei XYZ.ini nennen. Aber man kann nicht .ini unter Linux verwenden? Deshalb frag ich. Es ist vielleicht sinnvoller, wenn du mal sagst was du machen möchtest, denn wie du schon festgestellt hast, gibts nahezu unendlich viele Möglichkeiten, seine Daten zu speichern. Im Extremfall kann man sogar eigene Formate erstellen. Um ehrlich zu sein, wollte ich einfach nur Informationen sammeln, welche Möglich keiten es gibt, ich hab als ich den Thread aufmachte kein besonderes Probelm im Hinterkopf gehabt. Übrigens ich hab dir PM mal geschickt, schon gelesen? Zitieren
Bubble Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 Natürlich ist eine Datenbank schon eine etwas komplexere Möglichkeit, aber als so große Ausnahme würde ich das gar nicht sehen. Spätestens dann, wenn die Daten durchsuchbar sein sollen, bietet sich sowas an. Für Konfigurationsdaten (die beim Programmstart 1x eingelesen werden) lohnt sich das eigentlich nur dann, wenn das Programm ohnehin eine Datenbank benötigt, dann kann es jedoch wirklich praktisch sein alle konfigurierbaren Parameter dort in einer Tabelle zu hinterlegen. Allerdings muss trotzdem noch eine zusätzliche Konfigurationsdatei vorhanden sein in der wenigstens die Zugangsdaten für eine Datenbank hinterlegt sind - sonst geht natürlich gar nichts Zitieren
Bubble Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 Aber man kann nicht .ini unter Linux verwenden? Deshalb frag ich. Natürlich kann man auch unter Linux das ini Dateiformat verwenden, es sind ja auch nur Textdateien in einem bestimmten Format. Allerdings wirst Du die Funktionen zum Parsen (und Verändern) ggf. selbst schreiben müssen, da es die von Windows bereitgestellten Funktionen für einen einfachen Zugriff unter Linux nicht gibt. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.