Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Wecker
chickenfigt1989 - Mo 21.03.11 19:46
Titel: Wecker
Hallo User,
Habe einen Wecker geschrieben, und wollte nun auch wenn man den Pc ausmacht das er weitergeht, bzw. das wenn man später den Pc wieder hochfährt und den Wecker startet, das dan die Zeit aktualisiert ist.
Wie mach cih das?
lg
HenryHux - Mo 21.03.11 19:49
Speicher die Weckzeit doch in einer Datei ab.
Lg
chickenfigt1989 - Mo 21.03.11 20:12
Oke und wie mach ich das dnann?
lg
HenryHux - Mo 21.03.11 20:23
Das kommt drauf an, wie du das speichern willst.
Eine einfache Methode wäre zb. das Speichern in .Ini Dateien.
Dazu bindest du unter USES die INIfiles ein.
So kannst du dann z.b schreiben :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var Ini : TIniFile; begin try Ini := TINIfile.Create('DeinPfad' + 'DeinDateiname.ini'); ini.WriteString('Kategorie', 'Name', 'Wert'); finally ini.Free; end; |
Lese geht genauso, aber mit ReadString bzw ReadInteger.
Lg
Gerd Kayser - Mo 21.03.11 20:36
Das "try" gehört aber eine Zeile tiefer (nach dem Create).
bfelix - Mo 21.03.11 20:41
Ich kann typisierte Dateien empfehlen oder eine einfache Textdatei
chickenfigt1989 - Di 22.03.11 22:21
Danke HEnryHux nur wie mach ich das, dass wenn einer in der Combobox ne datei auswählt, und beendet. Ich will kategorie name und so nicht selber festlegen sondern kategorie sollte mein Label Pflanzen oder so sein und Name sollte dan dass sein was in der ombobox ausgewählt wurde, und wert sollte die restzeit sein.
Und wie mach ich dass das bei Start die zeit wieder erscheint?
lg
haentschman - Di 22.03.11 22:28
nix für ungut... aber deine letzte Frage ist nicht dein Ernst oder ? :gruebel:
Was hällst du den mal von ausprobieren und Hilfe zu TINIFiles lesen ?
bfelix - Di 22.03.11 22:39
Die aktuelle Zeit bekommst du mit: TimetoStr(now)
und das Datum mit: DatetoStr(now)
(Das ist dann die Systemzeit)
Also:
Delphi-Quelltext
1:
| Label1.Caption:=TimetoStr(now); |
HenryHux - Mi 23.03.11 19:08
Gerd Kayser hat folgendes geschrieben : |
| Das "try" gehört aber eine Zeile tiefer (nach dem Create). |
Stimmt :roll:
Leider verstehe ich deine Frage nicht ganz.
Der Benutzer hat eine feste Auswahl von Dateien in einer Combobox.
Diese willst du speichern, wenn er beendet?
Das machst du auch mit writeString...
Vielleicht sagt dir das Event OnChange etwas, damit könntest du die Auswahl direkt speichern.
Oder du nimmst ein OnClose Ereignis der Form, über welches du speicherst.
Den darauf folgenden Satz habe ich leider nicht verstanden :D
Doch die Werte aus einer ini kannst du mit readString bzw. readInteger auslesen.
Diese Befehle sind Funktionen.
Ich gehe mal davon aus, dass du den Unterschied zwischen Prozeduren und Funktionen kennst...
Der Rest sollte ja dann eigentlich soweit klar sein.
Lg
KleinesPferd - Fr 25.03.11 16:40
Ich Empfehle auf einem Blatt Papier, Dir generelle Gedanken zum Ablauf des Programmes zu machen.
Dadurch wirst Du schnell feststellen, dass sich deine Probleme sehr schnell auf gaaaanz wenige Punkte reduzieren und du mit den Befehlen ini.Writestring(..) und ini.Readstring(..) und OnClose/OnShow Events, all deine Sorgen abfangen wirst.
Viele Grüße
Xearox - Sa 26.03.11 01:55
das Problem beim Lieben Herrn chickenfigt1989, das er nichts selber hinbekommt.
Ich und auch andere hier im Forum, kennen diesen User schon länger.
Klar kann man mal fragen, wie was geht, aber bei Ihm muss man jeden Code von vornherein Komplett Posten, statt selber mal aus zu Probieren, damit er nur noch Copy-Paste machen muss.
So, aber KleinesPferd hat dir nie wichtigen Punkte ausgelistet, die du beachten muss.
Probiere es aus, Poste hier dein Code, wenn was falsch ist und dann kann man dir immer noch weiter helfen.
chickenfigt1989 - Di 29.03.11 13:34
Wollte nochma nachfragen.
Wie mann in eine Ini Datei reinschreibt weis ich bereits aber wenn der wecker offline ist wird der wert in der INi gespeichert.
Allerdings will ich das der Wert weiterläuft
also das man praktisch den wecker auch offline nutzen kann
lg
HenryHux - Di 29.03.11 13:38
Benutzt du hier den Zusammenhang Online/Offline mit Prozess am laufen bzw. beendet?
Wenn ja dann überleg mal wie du einer Textdatei sagen willst, dass sie sich von alleine hochzählt..
Damit dein Wecker funktioniert muss er schon am laufen sein.
Wenn du ihn einfach nicht mehr sehen willst, wie z.b andere Uhren bzw Wecker, dann könntest du ihn in den Tray minimieren.
Lg
chickenfigt1989 - Di 29.03.11 13:44
Ja in tray kann mann ihn schon minimieren.
Aber kann man des nicht irgendwie so machen, das man die restzeit in der text datei oder ini speichert.
Und wen dan das programm geschloßen wird ein Timestamp von der Uhrzeit gemacht wird und wenn man das programm wieder startet auch nen timestamp machen. Den einen timestamp von anderen abziehen und das ergebnis von der restzeit abziehen?
lg
chickenfigt1989 - Di 29.03.11 14:08
Oke das mit der Zeitdifferenz hab ich schon gecheckt.
Jetzt muss ich nur noch schauen dass ich des mit dem Timestamp hinbekomme und dann die Differenz von der Zeit die in Label angezeigt wird.
lg
Gausi - Di 29.03.11 14:08
Wäre es nicht einfacher, sich einfach die Zeit zu merken, wann der Wecker bimmeln soll?
chickenfigt1989 - Di 29.03.11 14:11
Hahaah stimmt, so einfach hab ich nicht gedacht.
Dann muss ich praktisch wenn ich den Wecker beende die Bimmel Zeit auch merken und wenn man den Wecker wieder startet die Restzeit von der Bimmelzeit abziehen oder?
lg
jaenicke - Di 29.03.11 14:14
Welche Restzeit? Du weißt wann der Wecker klingeln soll und du weißt (hoffentlich :D) wie spät es gerade ist, das reicht doch. Ist die aktuelle Zeit später oder genau die Klingelzeit, klingelst du.
jasocul - Di 29.03.11 14:18
chickenfigt1989 hat folgendes geschrieben : |
...und wenn man den Wecker wieder startet die Restzeit von der Bimmelzeit abziehen oder?
lg |
Du brauchst gar keine Restzeit.
Mit
time, bzw.
now bekommst du die aktuelle Zeit (bei
now mit Datum). Wenn die aktuelle Zeit größer (oder gleich) der Weckzeit ist, dann lässt du es klingeln.
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!