Seite 1 von 1

SysDateTimePick32: Uhrzeit auf 00:00:00 setzen?

Verfasst: 10.01.2008 18:32
von Häns
Hallo Folks,

für die Anzeige von Datum und Zeit mit Hilfe von SysDateTimePick32 werden die aktuellen Zeiten angegeben. Als Beispiel:

Code: Alles auswählen


Structure INITCOMMONCONTROLSEX
  dwSize.l
  dwICC.l
EndStructure

InitICC.INITCOMMONCONTROLSEX
InitICC\dwSize = SizeOf(INITCOMMONCONTROLSEX) 
InitICC\dwICC = #ICC_DATE_CLASSES

InitCommonControlsEx_(InitICC)
OpenWindow(0,200,200,200,200,#PB_Window_SystemMenu,"test")
If CreateGadgetList(WindowID())
picker1=CreateWindowEx_(0,"SysDateTimePick32","",#WS_CHILD|#WS_VISIBLE|12+2,10,10,100,25,WindowID(),0,GetModuleHandle_(0),0)
  picker2=CreateWindowEx_(0,"SysDateTimePick32","",#WS_CHILD|#WS_VISIBLE|12,10,40,100,25,WindowID(),0,GetModuleHandle_(0),0)
EndIf
Repeat
  EventID=WaitWindowEvent()
Until EventID=#PB_EventCloseWindow

CloseWindow(0)

(aus http://www.purebasic.fr/german/archive/ ... ac05#39593).

Da in meinem Programm der Anwender eine Zeit setzen kann, soll beim Start nicht die aktuelle Zeit, sondern nur "00:00:00" dargestellt werden.

Wie kann ich sie setzen?

Dankesgruß, Häns


[Edit]

Mmmh, ok, habe mal im englischen Board etwas gefunden und ein bisschen damit herumgespielt. Dabei ist das herausgekommen:

Code: Alles auswählen

OpenWindow(0,100,200,400,200,"test",#PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))

DateGadget(2,10,80,100,20,"",0 ,#DTS_TIMEFORMAT) 

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow 

Wenn ich in DateGadget den Parameter "Datum" ändere in:

Code: Alles auswählen

DateGadget(1,10,60,100,20,"",#PB_Date_CheckBox ,#DTS_TIMEFORMAT) 
dann bekomme ich das heraus, was ich wollte. Fragt mich jetzt bitte nicht, warum es so geht, es ist bestimmt "unsauber", aber es funzt.

Vielleicht kann mir einer das erklären, denn zwischen der Option Date und CheckBox kann ich mir keinen Reim daraus machen...


Häns

Verfasst: 10.01.2008 23:01
von hjbremer
in der Hilfe steht:

Mit dem optionalen 'Datum' Parameter können Sie das anzuzeigende Datum auf jedes Datum Ihrer Wahl einstellen. Ohne diesen Parameter oder die Angabe einer 0 wird das aktuelle Datum verwendet.

es fehlt allerdings der Hinweis: bei einem falschen Datum ist die Anzeige 000000
du kannst also auch als Parameter eine 1 angeben

Verfasst: 10.01.2008 23:49
von Häns
:allright: @hjbremer:

Ja, das dachte ich mir schon, ein falscher Parameter kann manchmal Wunder wirken... :wink:

Häns