timer??

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

naja... so sehr kann das ja nicht unterschiedlich sein....
ist zwar schon ewich her, dass ich was in der 3.30 geschrieben hab,
aber der verlinkte code ist ja auch nicht grad riesig.

es ist ja sogar nur ein simples Beispiel, wie man die SetWindowPos und GetWindowRect korrekt benutzt,
für den Update hat es ne simple Schleife, nicht mal nen Callback...


mal generell:
eine Einfügung unten in den Systray ist nicht gerade Anfänger-Stuff.
BginnR
Beiträge: 39
Registriert: 06.12.2008 19:44
Kontaktdaten:

Beitrag von BginnR »

ja, ich wollte halt speziell sowas in der richtung mal probieren, mir den code anschauen, und dann kapieren :lol: , aber irgendwie geht das ja ned.
Kann mir jemand vllt den source code für so ein bsp geben, ich habe gesucht, aber nix passendes gefunden
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Code: Alles auswählen

; English forum: 
; Author: Crown/Danilo (updated for PB4.00 by blbltheworm)
; Date: 21. October 2002
; OS: Windows
; Demo: No


; ProgressBar in SystemTray - crown.

TrayWnd       = FindWindow_("Shell_TrayWnd", 0)
TrayNofifyWnd = FindWindowEx_(TrayWnd, 0, "TrayNotifyWnd", 0)

GetWindowRect_(TrayNofifyWnd,win.RECT)

x=win\left : y=win\top
w=win\right-win\left : h=win\bottom-win\top

MessageRequester("Info", "Look at the clock in the systemtray", 0)

If OpenWindow(0,x,y,w,h, #PB_Window_BorderLess,"" )
   CreateGadgetList(WindowID(0))
   ProgressBarGadget(1,0,0,w,h,0,100,#PB_ProgressBar_Smooth)
   SetWindowPos_(WindowID(0),#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)

   For x = 1 To 100
       SetGadgetState(1,x)
       Delay(50)
   Next
EndIf

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -

Bin mir nicht sicher, ob #PB_ProgressBar_Smooth schon existiert unter 3.3, müsste aber eigentlich schon.

Bis auf OpenWindow() war nichts anzupassen, hab's aber nicht getestet, da ich grad kein 3.3 zur Hand habe.
Zuletzt geändert von TomS am 16.02.2009 18:38, insgesamt 1-mal geändert.
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

für was so ein Beispiel?
für Timer in Systray?
oder was anderes?
Win11 x64 | PB 6.20
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@TomS

ich bin mir nicht mal sicher, ob es in 3.3 überhaupt schon nen Progressbar gab...


@BginnR

ich schließe mich mal den Fragen an
>>> für was so ein Beispiel?
>>> für Timer in Systray?
>>> oder was anderes?


@Generell

wenn ich mir das Beispiel so angucke....
also ich finde das ganzschön unsauber, so Rückgabe-Structs on-the-fly im API-Aufruf zu erstellen...
das ist bestenfalls potthäßlich, wenn nicht sogar große Schlamperei.


&btw

eigentlich ging es um einen Timer, nicht um einen ProgressBar....

aber ich würde erst mal nen Timer mit sauberem Callback in nem kleinen extra Fensterchen realisieren, bevor ich den Tray vergewaltige.
BginnR
Beiträge: 39
Registriert: 06.12.2008 19:44
Kontaktdaten:

Beitrag von BginnR »

nee, :oops: :oops:

:freak:

halt so nen timer, wo ein symbol unten in der taskleiste erscheint, und wo man dann einstellen kann nach wieundwie viel min, stunden... ne nachricht kommt. + wo es die uhrzeit anzeigt.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

BginnR hat geschrieben:nee, :oops: :oops:

:freak:

halt so nen timer, wo ein symbol unten in der taskleiste erscheint, und wo man dann einstellen kann nach wieundwie viel min, stunden... ne nachricht kommt. + wo es die uhrzeit anzeigt.
Willst du unserem Foren-Clown Konkurrenz machen oder was?

Gruß

JENS
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Eine Teaclock?
Das heißt die Restzeit bis zum nächsten Event soll nicht im Systray/Taskleiste angezeigt werden, sondern nur wenn man auf das Symbol klickt?
Das wär ja dann nicht so schwer und ist auch sauber zu programmieren, ohne dass Kaeru Gaman sich wieder über 5 Jahre alte Codes echauffieren muss ;)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Fluid
bitte etwas kühleren Kopf bewahren, auch bzw. gerade weil durch den Clown die Nerven blank liegen....


@BginnR

bitte darauf achten, etwas umfangreicher und genauer zu antworten.
Das ist hier ein (Fach-)Forum, kein Chat!

wenn du "nee" schreibst, mach bitte deutlich, worauf genau aus den vorhergehenden fünf postings sich das bezieht!


>> halt so nen timer, wo ein symbol unten in der taskleiste erscheint, und wo man dann einstellen kann nach wieundwie viel min, stunden... ne nachricht kommt. + wo es die uhrzeit anzeigt.

also, wie gesagt, ich würde mich erstmal damit auseinandersetzen, das mit einem extra fensterchen zu realisieren.

irgendeinen Inhalt in die Leiste einfügen und einen Timer sauber programmieren sind zwei paar Schuhe,
beides für sich eine Herausforderung für einen Anfänger.
Antworten