Es gibt auch DisableExplicit, mit dem Du Teile Deines Codes zu Testzwecken von der Deklarationspflicht ausschließen kannst. Generell ist es allerdings immer von Vorteil EnableExplicit zu verwenden.mbergmann_sh hat geschrieben: ↑05.08.2022 11:52naja - zumindest im Beispiel muss ich diverse verwendete Variablen erstmal deklarieren, damit es mit EnableExplicit läuft.
CalendarGadget neues Datum nachträglich setzen
Re: CalendarGadget neues Datum nachträglich setzen
Hygge
Re: CalendarGadget neues Datum nachträglich setzen
So geht es mit EnableExplizit
Code: Alles auswählen
;-TOP
EnableExplicit
XIncludeFile "Modul_DateTime.pb"
UseModule DateTime
Enumeration Windows
#Main
EndEnumeration
Enumeration Gadgets
#Calendar1
#Calendar2
#Calendar3
EndEnumeration
Enumeration Status
#MainStatusBar
EndEnumeration
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
; Create gadget eventtype change for CalendarGadget
#MCN_SELECT = -746
Procedure CalendarGadget_WindowCB(hWnd,uMsg,wParam,lParam)
Protected *NMHDR.NMHDR
Select uMsg
Case #WM_NOTIFY
*NMHDR = lParam
If IsGadget(*NMHDR\idFrom) And GadgetType(*NMHDR\idFrom) = #PB_GadgetType_Calendar
If *NMHDR\code = #MCN_SELECT
PostEvent(#PB_Event_Gadget, 0, *NMHDR\idFrom, #PB_EventType_Change)
EndIf
EndIf
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
SetWindowCallback(@CalendarGadget_WindowCB())
CompilerCase #PB_OS_MacOS
CompilerEndSelect
Procedure Main()
Protected date1.d, date2.d, date3.d
#MainStyle = #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget
If OpenWindow(#Main, #PB_Ignore, #PB_Ignore, 800, 600, "Window" , #MainStyle)
CalendarGadget(#Calendar1, 10, 10, 180, 180)
CalendarGadget(#Calendar2, 200, 10, 180, 180)
CalendarGadget(#Calendar3, 390, 10, 180, 180)
SetCalendarDate(#Calendar1, GetDateFromString("1965-08-20 00:00:00"))
SetCalendarDate(#Calendar3, GetDateFromString("2065-08-20 00:00:00"))
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case #Calendar1
date1 = GetCalendarDate(#Calendar1)
Debug "Calendar 1: " + GetStringFromDate(date1)
Case #Calendar2
date2 = GetCalendarDate(#Calendar2)
Debug "Calendar 2: " + GetStringFromDate(date2)
Case #Calendar3
date3 = GetCalendarDate(#Calendar3)
Debug "Calendar 3: " + GetStringFromDate(date3)
EndSelect
EndSelect
ForEver
EndIf
EndProcedure : Main()
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- Pelagio
- Beiträge: 424
- Registriert: 11.11.2004 17:52
- Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem - Wohnort: Bremen
Re: CalendarGadget neues Datum nachträglich setzen
Weiß jemand ob in nächster Zukunft geplant ist die 'Datum Gadgets' zu Modifizieren, so das sie <1970 und >2038 darstellen können.
Langsam wäre es an der Zeit dies anzugehen. Ich hatte ja stark gehofft das mit der Umstellung auf C-Backend, also Update auf PB 6, dies mit umgesetzt wurden wäre.
Langsam wäre es an der Zeit dies anzugehen. Ich hatte ja stark gehofft das mit der Umstellung auf C-Backend, also Update auf PB 6, dies mit umgesetzt wurden wäre.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
Re: CalendarGadget neues Datum nachträglich setzen
Wird wohl langsam zeit für PB intern auf time64 umzustellen. Werde es mal Fred melden ...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
-
- Beiträge: 8
- Registriert: 04.08.2022 15:50