3Danke
ERLEDIGT
JA
JA
ANTWORTEN
12
12
ZUGRIFFE
637
637
EMPFEHLEN
-
Ich versuche krampfhaft meiner Anwendung eine config.ini oder config.dat zu geben, wo eine Menge von Einstellungen und Daten aus der Anwendung gespeichert werden sollen.
Das kann ein Stück Text sein, oder eine Zahl, oder auch ein ganzes struct oder ein vector von structs.
Damit ich nun nicht die Daten immer in derselben Reihenfolge haben muss, weil sich das ja später noch ändern könnte, bzw. weitere Sachen dazu kommen könnten, will ich jedem Eintrag eine Codenummer oder sowas verpassen.
Ich weiss, wie ich das Ganze lösen kann, wenn die Daten als Text gespeichert werden, ich weiss auch, wie ich binäre Daten schreiben und lesen kann, aber ich weiss nicht, ob und wie ich beides in einer Datei mischen kann.
Beispiel:
Code :1 2 3 4 5 6 7
wstring MyText = L"Irgendwas"; int MyValue = 17; LOGFONT MyFont = {....}; COLORREF MyColor = RGB(0,0,0); vector<MyStruct>MyVector; // usw. usw.
In der config.dat sollte also z.B. stehen:
1 MyText
2 MyFont
3 MyVector
usw.
Natürlich braucht das Ganze Trennzeichen, die im Inhalt nicht vorkommen, Leerstellen und Zeilenumbrüche eigenen sich dafür nicht, aber wie macht man binäre Trennzeichen?
Mein grösstes Problem ist aber, wie schreibt und liest man das, so dass vorher und hinterher dieselben Daten in denselben Variablen stehen?
Ich bin für jeden Vorschlag dankbar, auch wenn jemand eine Idee hat, die völlig anders aussieht als mein Ansatz.
-
Hi
ein Trennzeichen, das sonst nicht vorkommen kann, gibts nicht.
Wie wäre es, am Anfang eines Binärteils einfach die Länge abzuspeichern?
Als Binäre Zahl.
Wenn aus dem Confignamen nicht eindeutig herausgeht, ob es Binär oder nicht ist,
eben noch eine 0/1, B(inär)/T(ext) oder so dazu.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Hi,
eine andere Möglichkeit wäre vielleicht noch, wenn du dir den Aufbau von generellen .ini-Files ansiehst und es vielleicht anpasst oder sogar übernimmst. Unter Windows kannst du diese auch ganz einfach auslesen. Unter anderen Systemen sollte dies auch relativ einfach gehen.
GrüßeWas soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.
-
Soll mir alles Recht sein, von mir aus kann in der config sonstwas stehen.
code | typ | länge | daten
code | typ | länge | daten
Ich weiss sogar, dass ich dann beim Schreiben und Lesen mit einem Pointer arbeiten muss.
Aber wie?
-
Mal 2 Links.
substr & find
oder wie ich schon erwähnte:
mit .ini-FileWas soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.
-
08.02.12 16:58 #6
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
für Binäredaten in einer Konfigurationsdatei hab ich mir mal ne Bibliothek für bencoded-Strings implementiert. Den Source kannst du dir hier anschauen. (Abhängige Bibliothek für Strings die ihre Länge kennen)
Vom Prinzip her besteht meine Konfigurationsdatei aus einem Dictionary und da drin dann meine ganzen Schlüssel- und Wert-Paare. Die Dokumentation zum Schema kannst du dir hier mal genauer anschauen.
Die Bibliotheken von mir sind allerdings nicht allzu gut dokumentiert, wennst die verwenden willst und Fragen dazu hast, nur raus damit
Gruß,
BK
// Edit: Ok, ich seh grad die Doku is quasi nicht vorhanden. Werde das nochmal überarbeiten und komplettieren und dann eine neue Version hochladen.Geändert von Bratkartoffel (08.02.12 um 17:26 Uhr)
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Hui, das sieht gut aus, werde ich mir gleich mal zu Gemüte führen, danke.
-
08.02.12 18:06 #8
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
hab mal das gröbste jetzt Dokumentiert in dem Header, mit einem SVN Update solltest die neueste, dokumentierte Version bekommen.
Der Rest folgt dann die nächsten Tage.
Gruß,
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
DankeDanke.
-
16.02.12 17:09 #10
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
gibts zu dem Thema was neues? Wie kommst du mit der Bibliothek zurecht?
Bin in letzter Zeit ziemlich eingespannt mit Arbeit, deshalb komme ich wohl nicht so schnell dazu die Doku fertig zu machen...
Grüße,
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Ich habe mir die source runtergeladen und ein bisschen herumprobiert.
Soweit ich das bis jetzt sehe, funktioniert das prima.
Allerdings komme ich im Moment auch nicht viel dazu, weil ich noch 3 andere Projekte in Arbeit habe.
-
02.03.12 14:17 #12
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
auch wenn das Thema schon als erledigt markiert wurde, ich habe meine Bibliotheken nun endlich fertig überarbeitet und Version 0.3.0 released:
https://svn.wf-hosting.de/libmystrin...release-0.3.0/
https://svn.wf-hosting.de/libbencode...release-0.3.0/
Habe die Header besser kommentiert und die Sourcen ein wenig aufgeräumt und teilweise auch aufgeteilt. Da sich ein paar Funktionsnamen geändert haben (durchgängig benannt), kann es sein dass du deine Sourcen auch etwas überarbeiten musst. Getestet habe ich diese zwar schon, kann aber sein dass sich noch der eine oder andere Bug da drin befindet.
Grüße,
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Ganz vielen Dank.
Ich bin voll im Stress mit anderen Sachen, aber ich komme definitiv darauf zurück.
Ähnliche Themen
-
Binäre Suche Java
Von Saban im Forum JavaAntworten: 13Letzter Beitrag: 25.02.09, 15:59 -
Binäre Suche
Von cuchulainn im Forum Algorithmen & Datenstrukturen mit JavaAntworten: 8Letzter Beitrag: 14.07.08, 22:52 -
Binäre Verarbeitung
Von meilon im Forum PHPAntworten: 3Letzter Beitrag: 11.05.05, 18:15 -
binäre Suche
Von djroque im Forum JavaAntworten: 4Letzter Beitrag: 15.01.05, 16:06 -
Binäre suche
Von kle-ben im Forum Visual Basic 6.0Antworten: 9Letzter Beitrag: 22.12.04, 08:08





Zitieren


Login






