Aktuelle Zeit: 15.10.2018 17:41

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Date64-Modul und das CalendarGadget
BeitragVerfasst: 13.06.2018 15:06 
Offline
Benutzeravatar

Registriert: 21.09.2004 05:41
Wohnort: Berlin
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

_________________
Finde Gelassenheit bei Dingen, die du nicht ändern kannst!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Date64-Modul und das CalendarGadget
BeitragVerfasst: 13.06.2018 15:12 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Purethom hat geschrieben:
mit dem Calendar- und DateGadget zustande? Diese unterstützen natürlich nicht den stark erweiterten Datumsbereich.

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.

Für CalendarGadget:
Code:
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


Für DateGadget:
Code:
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


Purethom hat geschrieben:
Viele Grüße aus Berlin sendet

Viele Grüße zurück aus Berlin an Berlin.

_________________
BildBildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Date64-Modul und das CalendarGadget
BeitragVerfasst: 13.06.2018 20:07 
Offline
Benutzeravatar

Registriert: 21.09.2004 05:41
Wohnort: Berlin
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

_________________
Finde Gelassenheit bei Dingen, die du nicht ändern kannst!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Date64-Modul und das CalendarGadget
BeitragVerfasst: 13.06.2018 20:18 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Das freut mich zu hören und dass ich dir helfen konnte. :)

_________________
BildBildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Date64-Modul und das CalendarGadget
BeitragVerfasst: 13.06.2018 21:25 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
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

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 50.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye