AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Statusbar/Uhrzeit einblenden

Ein Thema von Errraddicator · begonnen am 1. Apr 2009 · letzter Beitrag vom 9. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2      
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#1

Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 14:20
Hiho!

Ich wollte so als Spielerei - und zum Testen - in mein Programm 2 Dinge einbauen:
- unten Rechts die aktuelle Uhrzeit
- Einen Statusbalken der wahllos durchläuft, ähnlich wie der beim Hochfahren von Windows

Jetzt habe ich das versucht über Timer zu regeln, aber das funktioniert nur, wenn mein Hauptprogramm selbst nicht wirklich beschäftigt ist.
Sobald ich die eigentliche Verarbeitung anstarte, hängen diese Timer und aktualisieren nur noch, wenn ich im Hauptprogramm selbst ein Update/ProcessMessages mache.

Dass ich das Problem via Threading lösen kann ist mir zwar klar, aber sowas "großes" wollte ich eigentlich für solche Spielereien vermeiden.
Oder komme ich da gar nich drum herum?


cu

Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 14:38
Wenn deine Anwendung beschäfftigt ist, dann kann eben die Nachrichtenschleife nicht mehr abgearbeitet werden und somit auch keine WM_TIMER Nachrichten verarbeitet werden. Lagere also den Code, der deine Anwendung blockiert in einen Thread aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#3

Re: Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 16:35
Zitat:
unten Rechts die aktuelle Uhrzeit
Hmmm, mache ich auch oft. Und das funktioniert mit 'nem Timer eigentlich immer. Oder willst du auch die Sekunden anzeigen? Für eine "normale" Uhrzeitanzeige genügen doch Stunden:Minuten und da müsste dein Programm aber sehr beschäftigt sein, wenn das nicht funktionieren sollte.
Ralph
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#4

Re: Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 17:36
So kannst du die aktuelle Uhrzeit in deiner Statusleiste einblenden:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].Text := TimeToStr(time);
end;
Musst nur im OI halt Panels hinzufügen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 19:39
Es gibt noch eine andere Möglichkeit. Dazu brauchst Du die Komponente TJvClock von den Jedi's und eine Statusbar mit mehreren Panels. In diesem Beispiel wird die Uhr ins 3 Panel eingefügt. Diese paar Zeilen in das Ereignis FormShow und schon hast Du Deine aktuelle Uhrzeit in der Statusleiste.

Delphi-Quellcode:
  // Die Uhr in das dritte Panel setzen von der Statusbar
  Statusbar.Perform(SB_GETRECT, 2, Integer(@R));
  Clock.Parent := Statusbar; //Clock adoptieren
  Clock.Top := r.Top; //Größe der
  Clock.Left := r.Left; //Clock setzen
  Clock.Width := r.Right - r.Left; //und an Panel anpassen
  Clock.Height := r.Bottom - r.Top;
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Noedel
(Gast)

n/a Beiträge
 
#6

Re: Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 19:40
Zitat von BullsEye:
So kannst du die aktuelle Uhrzeit in deiner Statusleiste einblenden:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].Text := TimeToStr(time);
end;
Musst nur im OI halt Panels hinzufügen
oder statusbar1.simpletext, dann hast du´s aber linksbündig
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Statusbar/Uhrzeit einblenden

  Alt 1. Apr 2009, 19:46
Zitat von BullsEye:
So kannst du die aktuelle Uhrzeit in deiner Statusleiste einblenden:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].Text := TimeToStr(time);
end;
Musst nur im OI halt Panels hinzufügen
Genau das hat er wahrscheinlich gemacht und musse festellen, dass die Anzeige "hängt" wenn sein Programm beschäftigt ist und die Nachrichten aus der Nachrichtenschleife nicht abholen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Statusbar/Uhrzeit einblenden

  Alt 2. Apr 2009, 10:29
Zitat von Luckie:
Genau das hat er wahrscheinlich gemacht und musse festellen, dass die Anzeige "hängt" wenn sein Programm beschäftigt ist und die Nachrichten aus der Nachrichtenschleife nicht abholen kann.
Genau.
Und deshalb war jetzt meine eigentlich Frage, ob ich das Problem auch ohne Threads lösen kann, oder nicht? *G*

Aber anscheinend nicht, so wie es aussieht. ^^
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: Statusbar/Uhrzeit einblenden

  Alt 2. Apr 2009, 10:33
Hallo Patrick,

hast Du meinen Beitrag #5 hier gelesen und auch mal ausprobiert ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Statusbar/Uhrzeit einblenden

  Alt 2. Apr 2009, 13:40
Zitat von RWarnecke:
Hallo Patrick,

hast Du meinen Beitrag #5 hier gelesen und auch mal ausprobiert ?
Gelesen ja, ausprobiert nich..
Liegt einfach daran, dass ich
a) ungern Drittanbietersachen nehme, sondern sie gerne - grade wenns so kleine Sachen sind - selber programmiere
und
b) da die Uhr nur ein Beispiel für div. andere ähnliche Anwendungsgebiete ist, die ich nacher ma umsetzen möchte.

Aber trotzdem Danke!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz