![]() |
Datum in Statusleiste
Hallo,
ich habe ein kleines Problem mit dem Anzeigen des Datums in der Statusleiste. Vorhanden: 2 Radiobutton 1) Tag / Monat / Jahr (RadioButton3) 2) Monat / Tag / Jahr (RadioButton4) 1 Checkbox 1) Datum anzeigen "Datum anzeigen" hat folgenden Code:
Delphi-Quellcode:
Nun ist das Problem, dass sich das Datum erst ändert, wenn ich die Checkbox aus- und dann wieder aktiviere.
procedure TForm3.CheckBox19Click(Sender: TObject);
const DatumsFormat: array[Boolean] of string = ('dd.mm.yyyy','mm.dd.yyyy'); begin if not checkbox19.checked then Form1.Statusbar1.Panels[4].Text:='' else Form1.Statusbar1.Panels[4].Text:='Datum: '+FormatDateTime(DatumsFormat[RadioButton4.Checked], Now); end; P.S.: Die Radiobutton haben die Codes:
Delphi-Quellcode:
und
//Form3.Statusbar1.Panels[4].Text:='Datum: '+FormatDateTime('dd.mm.yyyy', Now);
Delphi-Quellcode:
Man hatte mir gesagt, mit dem Code ganz oben, kann ich die Codes des Radiobutton rausnehmen. Ich habe sie jetzt mit "//" einfach in ein Kommentar umgewandelt.
//Form3.Statusbar1.Panels[4].Text:='Datum: '+FormatDateTime('mm.dd.yyyy', Now);
Was kann man da machen, dass das Datum auch wechselt, ohne dass ich erst die Checkbox zweimal auslösen muss? mfG Störtebeker |
Re: Datum in Statusleiste
Hallo,
da Du die Änderung in der CheckBox19Click-Routine machst, ist es doch ganz logisch, dass sich die anzeige nur ändert, wenn Du die Checkbox bedienst. Vielleicht solltest Du über den Einsatz eines Timers nachdenken? MfG Klaus |
Re: Datum in Statusleiste
Hi,
:wall: Danke, für den Tipp. Jetzt geht es wunderbar. mfG Störtebeker |
Re: Datum in Statusleiste
:gruebel: kann den Sinn eines Timereinsatzes irgendwie nicht richtig nachvollziehen :roll:
Wie wäre es denn mit der folgenden - würd sagen schon fast banalen - Idee, das OnClick-Ereignis der Radiobutton 3 bzw -4 auf die Procedure Checkbox19.OnClick zu verweisen bzw zu verlinken?? Entweder schon im OI, sofern dem nix entgegensteht oder aber im Onclick-Ereignis expliziet mit
Code:
Somit wird die gewünschte DatumFormat sofort angezeigt (sofern CheckBox19 gecheckt ist ;) )...
procedure TForm3.RadioButton3Click(Sender: Tobject);
begin ... CheckBox19Click(Sender); ... end; |
Re: Datum in Statusleiste
Hi,
lager den Code in eine eigene Procedure aus:
Delphi-Quellcode:
Dann kannst du diese an jeder beliebigen Stelle mit dem entsprechenden Parameter aufrufen:
procedure TForm3.ShowDate(Value : Boolean);
const DatumsFormat: array[Boolean] of string = ('dd.mm.yyyy','mm.dd.yyyy'); begin if not Value then Form1.Statusbar1.Panels[4].Text:='' else Form1.Statusbar1.Panels[4].Text:='Datum: '+FormatDateTime(DatumsFormat[RadioButton4.Checked], Now); end;
Delphi-Quellcode:
Und an jeder anderen Stelle, wenn das Datum aktualisiert werden soll. Die Timerlösung hilft auf jeden Fall das Datum zu aktualisieren wenn ein Datumswechsel auftritt und gerade keiner was tut (Mitternacht).
procedure TForm3.CheckBox19Click(Sender: TObject);
begin ShowDate(checkbox19.checked); end; Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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