Seite 1 von 1

Systemzeit und Systemdatum abfragen

Verfasst: 13.11.2005 23:07
von Helmut
Es gibt:
SysDateTimePick32

gibt es auch was für die Zeitdarstellung, wenn ja mit Beispiel ?

Verfasst: 13.11.2005 23:14
von Froggerprogger
Was meinst Du genau?
Kennst Du PB's Date()-Funktion ?

Verfasst: 13.11.2005 23:26
von Helmut
Den Code für den Kalender:
gibt es das Gleiche für die Zeit?

Code: Alles auswählen

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=2997&highlight= 
; Author: Andreas 
; Date: 03. December 2003 

#MCM_GETCURSEL = $1001 
#Auswahl=1 
#Abbruch = 2 

Structure InitCommon 
  dwSize.l 
  dwICC.l 
EndStructure 

my.InitCommon 
my\dwSize = 8 
my\dwICC = $100 

InitCommonControlsEx_(@my) 

hwnd=OpenWindow(0,0,0,800,700.0,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"API-Kalender") 
If hwnd=0 Or CreateGadgetList(hwnd)=0:End:EndIf 

hCal=CreateWindowEx_(0,"SysMonthCal32","Kalender",#WS_CHILD|#WS_VISIBLE,10,80,600,700,hwnd,0,GetModuleHandle_(0),0) 
;ein wenig Farbe ins Spiel bringen 
SendMessage_(hCal,4106,0,$800000);MCM_SC_BACKGROUND 
SendMessage_(hCal,4106,4,$800000);MCM_SC_MONTHBACK 
SendMessage_(hCal,4106,2,$0000FF);MCM_SC_TITEL 
SendMessage_(hCal,4106,1,$00FFFF);MCM_SC_TEXT 
SendMessage_(hCal,4106,3,$00FFFF);MCM_SC_TITELTEXT 

ButtonGadget(#Auswahl,10,10,50,20,"Datum") 
ButtonGadget(#Abbruch,10,40,50,20,"Abbruch") 


Repeat 
  EventID.l = WaitWindowEvent() 
  
  If EventID = #PB_EventGadget 
    Select EventGadgetID() 
      Case #Auswahl 
        SendMessage_(hCal,#MCM_GETCURSEL,0,@time.SYSTEMTIME ) 
        year=time\wYear 
        month=time\wMonth 
        day=time\wDay 
        info.s = Str(day)+"."+Str(month)+"."+Str(year) 
        MessageRequester("",info,0) 
      Case #Abbruch 
        End 
    EndSelect 
  EndIf 
Until EventID = #PB_EventCloseWindow 

End 
; ExecutableFormat=Windows 
; EnableXP 
; EOF 
oder:

Code: Alles auswählen

OpenWindow(0,200,200,200,200,#PB_Window_SystemMenu,"test") 
If CreateGadgetList(WindowID()) 
  ;mit checkbox 
  picker1=CreateWindowEx_(0,"SysDateTimePick32","",#WS_CHILD|#WS_VISIBLE|12+2,10,10,100,25,WindowID(),0,GetModuleHandle_(0),0) 
  SendMessage_(picker1,4097,0,@s.SYSTEMTIME) 
  s\wYear = 2000 
  s\wMonth = 12 
  s\wDay = 11 
  ;SendMessage_(picker1,4098,0,s) 
  ;SendMessage_(picker1,4098,1,s) 
  ;ohne checkbox 
  picker2=CreateWindowEx_(0,"SysDateTimePick32","",#WS_CHILD|#WS_VISIBLE|12,10,40,100,25,WindowID(),0,GetModuleHandle_(0),0) 

  
  EndIf 
;Debug msg 
Repeat 
  EventID=WaitWindowEvent() 
  
  Until EventID=#PB_EventCloseWindow 

  CloseWindow(0) 
   

Verfasst: 14.11.2005 00:22
von Froggerprogger
Hmmm. Sieht nicht so aus, als ob es da was gäbe:
http://msdn.microsoft.com/library/defau ... ssages.asp
Hier ist immer nur die Rede vom "date and time picker (DTP) control's child month calendar control"
Mit DTP ist das Textfeld gemeint. Das 'child month calender control' ist das extra-popup-Fenster. Nirgendwo aber ist die Rede von einem 'child time calender control'

Aber mit #DTM_SETFORMAT und #DTS_TIMEFORMAT lässt sich ein Zeitpicker bauen, wie er auch bei der Windows-Uhrzeiteinstellung funktioniert:
Cool ist, wenn man den Tag oder Monat verändert, verändert sich der Name gleich mit:

Code: Alles auswählen

OpenWindow(0,200,200,455,80,#PB_Window_SystemMenu,"test")
If CreateGadgetList(WindowID())
  ;mit checkbox
  #DTS_TIMEFORMAT = $0009
  #DTM_SETFORMAT  = $1005
  format.s = "'Uhrzeit ist ' HH:mm:ss ' am 'dddd'den 'dd.MM.yyyy '('MMMM')'"
  
  picker=CreateWindowEx_(0,"SysDateTimePick32","",#DTS_TIMEFORMAT|#WS_CHILD|#WS_VISIBLE|12,10,10,440,25,WindowID(),0,GetModuleHandle_(0),0)
  SendMessage_(picker, #DTM_SETFORMAT, 0, @format);
  TextGadget(0, 10, 50, 440, 25, "Die einzelnen Daten lassen sich anklicken und editieren.") 
  EndIf
;Debug msg
Repeat
  EventID=WaitWindowEvent()
 
  Until EventID=#PB_EventCloseWindow

  CloseWindow(0) 
Für den Formatstring siehe hier:
http://msdn.microsoft.com/library/defau ... format.asp

Verfasst: 14.11.2005 00:25
von KeyKon
Ich weiß zwar nich obs dass gibt, aber wie stellst du dir das vor? Ich meine für jede Minute einen Eintrag oder was?

KeyKon

Verfasst: 14.11.2005 00:32
von Helmut
Das Programm von Froggerprogger ist schon nicht schlecht, wenn ich die veränderten Daten weiter verarbeiten kann, dann ist es OK.
Soll so 'ne Art Schaltuhr werden!