Hallo, ihr Lieben!
Es gibt doch in "Code, Tipps und Tricks" dieses wunderbare Date64-Modul. Vielen Dank an alle beteiligten Programmierer! Wie bekomme ich nun eine Zusammenarbeit mit dem Calendar- und DateGadget zustande? Diese unterstützen natürlich nicht den stark erweiterten Datumsbereich.
Kann jemand helfen?
Viele Grüße aus Berlin sendet
Thomas
Date64-Modul und das CalendarGadget
Date64-Modul und das CalendarGadget
Finde Gelassenheit bei Dingen, die du nicht ändern kannst!
Re: Date64-Modul und das CalendarGadget
Mit dem Date64-Modul kenne ich mich nicht aus, aber ich kann dir eine Lösung für das Datumsproblem beim CalendarGadget und DateGadget geben.Purethom hat geschrieben:mit dem Calendar- und DateGadget zustande? Diese unterstützen natürlich nicht den stark erweiterten Datumsbereich.
Für CalendarGadget:
Code: Alles auswählen
EnableExplicit
#MCN_SELCHANGE = #MCN_FIRST + 1
#MCN_SELECT = #MCN_FIRST + 4
Procedure WinCallback(hWnd, uMsg, wParam, lParam)
Protected *NMHDR.NMHDR
Protected SYSTEMTIME.SYSTEMTIME
Select uMsg
Case #WM_NOTIFY
*NMHDR = lParam
Select *NMHDR\hwndFrom
Case GadgetID(1)
Select *NMHDR\code
Case #MCN_SELECT
SendMessage_(GadgetID(1), #MCM_GETCURSEL, 0, SYSTEMTIME)
Debug Str(SYSTEMTIME\wDay) + "." + Str(SYSTEMTIME\wMonth) + "." + Str(SYSTEMTIME\wYear)
EndSelect
EndSelect
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(1, 10, 10, 200, 200, Date())
SetWindowCallback(@WinCallback())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Code: Alles auswählen
EnableExplicit
Procedure WinCallback(hWnd, uMsg, wParam, lParam)
Protected *NMHDR.NMHDR
Protected SYSTEMTIME.SYSTEMTIME
Select uMsg
Case #WM_NOTIFY
*NMHDR = lParam
Select *NMHDR\hwndFrom
Case GadgetID(1)
Select *NMHDR\code
Case #DTN_DATETIMECHANGE
SendMessage_(GadgetID(1), #MCM_GETCURSEL, 0, SYSTEMTIME)
Debug Str(SYSTEMTIME\wDay) + "." + Str(SYSTEMTIME\wMonth) + "." + Str(SYSTEMTIME\wYear)
EndSelect
EndSelect
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
DateGadget(1, 10, 10, 100, 20)
SetWindowCallback(@WinCallback())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Viele Grüße zurück aus Berlin an Berlin.Purethom hat geschrieben:Viele Grüße aus Berlin sendet
Re: Date64-Modul und das CalendarGadget
Hallo RSBasic,
das ist ja reine WinAPI-Magie! Aber es funktioniert. Obwohl ich zugeben muss, dass ich keine Ahnung habe, wie der Code arbeitet. Aber ich werde versuchen, mir das zu erarbeiten.
In diesem Zusammenhang, lieber Ray, deine Webside ist echt der Hammer. Total informativ, speziell der WinAPI-Teil.
In diesem Sinne, vielen Dank für deine schnelle Antwort und liebe Grüße aus Berlin nach Berlin sendet
Thomas
das ist ja reine WinAPI-Magie! Aber es funktioniert. Obwohl ich zugeben muss, dass ich keine Ahnung habe, wie der Code arbeitet. Aber ich werde versuchen, mir das zu erarbeiten.
In diesem Zusammenhang, lieber Ray, deine Webside ist echt der Hammer. Total informativ, speziell der WinAPI-Teil.
In diesem Sinne, vielen Dank für deine schnelle Antwort und liebe Grüße aus Berlin nach Berlin sendet
Thomas
Finde Gelassenheit bei Dingen, die du nicht ändern kannst!
Re: Date64-Modul und das CalendarGadget
Das freut mich zu hören und dass ich dir helfen konnte.
Re: Date64-Modul und das CalendarGadget
Nur der Vollständigkeit halber:
Wilbert hat im englischen Forum mal eine Sammlung seiner "DateQ" Funktionen gepostet. Diese wurden von einem anderen User aufgegriffen und als Modul umgeschrieben. Ich hatte mir den Code dann auf meine Bedürfnisse angepasst und unter anderem eine Komplette Date64 Unterstützung für das Calendar-Gadget und das Date-Gadget.
Der Code enthält ein Beispiel, welches ausgeführt wird, wenn er als mainfile compiliert wird. also einfach in die IDE kopieren und kompilieren.
https://www.purebasic.fr/english/viewto ... 07#p478507
Wilbert hat im englischen Forum mal eine Sammlung seiner "DateQ" Funktionen gepostet. Diese wurden von einem anderen User aufgegriffen und als Modul umgeschrieben. Ich hatte mir den Code dann auf meine Bedürfnisse angepasst und unter anderem eine Komplette Date64 Unterstützung für das Calendar-Gadget und das Date-Gadget.
Der Code enthält ein Beispiel, welches ausgeführt wird, wenn er als mainfile compiliert wird. also einfach in die IDE kopieren und kompilieren.
https://www.purebasic.fr/english/viewto ... 07#p478507
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.