Entwickler-Ecke
Sonstiges (Delphi) - Variablen exportieren, DB oder ini/textfile?Wie geht das?
Xearox - Mi 11.08.10 19:47
Titel: Variablen exportieren, DB oder ini/textfile?Wie geht das?
So, ich habe zwar einige Sachen hier im Forum gefunden, mit der SuFu, aber jedoch wurde ich da nicht sehr hell raus, weil ich damit noch nie mit gearbeitet hab.
Ich hab mir einen kleinen Wecker geschrieben.
Das hab ich auch alles soweit alleine hinbekommen, außer ein paar Fehler, aber da hatte ich schon einen Thread aufgehabt...
Nun möchte ich gerne, die Zeiten, die ich eingestellt hab, auch in eine Ini oder TextFile speichern, um diese im späteren Verlauf auszulesen.
Jedoch stelle ich mir das so einfach vor und wenn ich in meine ToDo liste reinschaue, dann werde ich im Stutziger, ob das überhaupt mit einem reinen Auslesen klappt.
So, nun das was ich erreichen möchte...
Mein Programm bietet eine Speichern und Lade Funktion(sind aber noch nicht Betriebsbereit, da mir die Kenntnisse fehlen).
Also...oh man, ich bin so kompliziert...
---
Also, man soll mit der Speichern Funktion ein Bestimmtes Datum, wie zum Beispiel einem Geburtstag oder einem Termin speichern.
Nun soll durch die Laden Funktion, automatisch, aus dem File, die passende Zeile rausgesucht werden und der Wecker soll dann automatisch die Zeit einstellen, welche man vorher beim Speichern festgelegt hat. Also wie beim Handykalender, Datum auswählen, Zeit auswählen, wann handy klingeln soll, und dann wenn das Datum "now" ist, soll der Wecker klingeln.
---
Wie bekomme ich nun das am Besten und am Einfachsten hin...
Soll ich dafür eine ini/textfile nutzen, oder gleich eine Datenbank, wobei ich bei beiden 0 Ahnung hab...
Aber ich bin ja hier, um dazu zulernen um später diese Sachen so im Kopf zu haben, das ich das auch selber schaffen kann...
Hat hier jemand ein Vorschlag?
Evtl. erklärungen?
Gruß Chris
---
Edit: Ich hab mich nun erstmal für eine DatenBank entschieden, hoffe ich liege damit richtig, falls jemand doch einen anderen Vorschlag hatte, bitte hier schreiben, wäre dankbar, bevor ich mir die Arbeit mit der Datenbank mache.
ALF - Do 12.08.10 02:28
Also für die paar kleinigkeiten würde ich ne ini nehmen!
Der Aufruf dafür ist
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| uses IniFiles; ..... ..... var MyIni: TIniFile; Geburtstag: string; begin MyIni := TIniFile.Create(Pfad+'\Wecker.ini'); MyIni.WriteString('Geburtstag', 'Mutti', '12.11.1962'); MyIni.WriteString('Geburtstag', 'Schwester', '??.??.????'); MyIni.WriteString('Termine', 'Zahnartzt', '23.06.2012'); ....... Geburtstag := Pini.ReadString('Geburtstag', 'Mutti', ''); ...... MyIni.free; end; |
Was Du alles verwenden kannst, steht in der DH drin.
Integer,Boolean, Datum, Zeit, String usw
Ist dafür am besten, finde ich :wink: und! man kann auch mal schnell mit einem Texteditor Werte ändern.
Gruss Alf
Nersgatt - Do 12.08.10 08:29
Nur der Vollständigkeit halber sei erwähnt, dass im Beispiel die Ressourcenschutzblöcke fehlen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| MyIni := TIniFile.Create(Pfad+'\Wecker.ini'); Try ... Finally MyIni.Free; end; |
Gerd Kayser - Do 12.08.10 17:47
ALF hat folgendes geschrieben : |
| Also für die paar kleinigkeiten würde ich ne ini nehmen! |
Sehe ich genau so. Die Verwendung einer Datenbank für eine Handvoll Datensätze erinnert mich immer an das Killen einer Ameise mit einer explodierenden Handgranate. :D
Allerdings würde ich die INI-Datei anders aufbauen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| [Programm] Version=1 Sound1=c:\daten\sound.dat\sirene.wav Sound2=c:\daten\sound.dat\HappyBirthday.mp3 Eintraege=3
[1] Datum=31.08.2010 Uhrzeit=08:00 Ereignis=Mutters Geburtstag Sound=Sound2
[2] Datum=16.08.2010 Uhrzeit=14:00 Ereignis=Zahnarzttermin Sound=Sound1
[3] Datum=31.08.2010 Uhrzeit=19:00 Ereignis=Geburtstagsparty Sound=Sound2 |
Hinzufügen ist kein Problem: Einfach den Wert bei Eintraege um 1 erhöhen und den entsprechenden Abschnitt anlegen. Löschen ist etwas komplizierter: Beim Löschen Einträge um 1 reduzieren und den zu löschenden Abschnitt entfernen. Wenn der gelöschte Abschnitt nicht die höchste Nummer hatte, den Abschnitt mit der höchsten Nummer als den zuvor gelöschten Abschnitt speichern.
Beispiel: [2] wurde gelöscht. Abschnitt [3] als neuen Abschnitt [2] speichern und Abschnitt [3] entfernen.
elundril - Do 12.08.10 22:44
Alternativ würde sich auch noch XML eignen, im speziellen vielleicht das .ics-Format.
lg elundril
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!