albertmaathuis Posted February 25, 2009 Share Posted February 25, 2009 Hello, I need some help with the GuiCtrlCreateInput function and date format How can i create een input box that tells the user to put the date in the input box in the format dd-mm-yyy (and of course nothing else is accepted in the box) Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 25, 2009 Moderators Share Posted February 25, 2009 albertmaathuis, I posted another version of this in the GUI forum a short while ago - seems like a day for input masks! You will have to add errorchecking for the individual inputs of course.#include <GUIConstantsEx.au3> Global $input_limit = 2 $gui = GUICreate("InputBox autofocus demo", 200, 100) $in1 = GUICtrlCreateInput("", 20, 20, 30, 20) GUICtrlSetLimit(-1, $input_limit) $in2 = GUICtrlCreateInput("", 80, 20, 30, 20) GUICtrlSetLimit(-1, $input_limit) $in3 = GUICtrlCreateInput("", 140, 20, 30, 20) GUICtrlSetLimit(-1, $input_limit) $btn = GUICtrlCreateButton("OK", 75, 60, 40, 25) GUIRegisterMsg(0x0111, "On_WM_COMMAND") GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $btn $str = GUICtrlRead($in1) & "-" & GUICtrlRead($in2) & "-" & GUICtrlRead($in3) MsgBox(0, "You have entered", $str) EndSwitch WEnd Func On_WM_COMMAND($hWnd, $Msg, $wParam, $lParam) $nNotifyCode = BitShift($wParam, 16) $nID = BitAnd($wParam, 0x0000FFFF) Switch $nNotifyCode Case 0x400;$EN_UPDATE If StringLen(GUICtrlRead($nID)) = $input_limit Then GUICtrlSetState($nID+1, $GUI_FOCUS) EndSwitch EndFunc Hope this is close to what you were looking for. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
albertmaathuis Posted February 26, 2009 Author Share Posted February 26, 2009 Thx M23 It's close, not directly what i was looking for, but it helps so i can move on I think i go for a search in the forum for a calendar which will give me the date when i click on it. Perhaps that will do the job also. AMT Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 26, 2009 Moderators Share Posted February 26, 2009 albertmaathuis, There are some different solutions in the other thread I mentioned. Perhaps one of them might be more what you are looking for. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
albertmaathuis Posted February 26, 2009 Author Share Posted February 26, 2009 Found it. This code does the job. #include <GUIConstantsEx.au3> #include <Date.au3> Opt('MustDeclareVars', 1) Example() Func Example() Local $Date, $msg,$today $today=_NowDate() GUICreate("Get date", 210, 190) $Date = GUICtrlCreateMonthCal($today, 10, 10) GUISetState() ; Run the GUI until the dialog is closed or timeout Do $msg = GUIGetMsg() If $msg = $Date Then $msg = $GUI_EVENT_CLOSE EndIf Until $msg = $GUI_EVENT_CLOSE MsgBox(0, $msg, GUICtrlRead($Date), 2) EndFunc ;==>Example Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now