Alpha Video Training
Results 1 to 12 of 12

Thread: The UI_Get_Short_Time() Function

  1. #1
    Member
    Real Name
    Steve Andrews
    Join Date
    Jan 2004
    Location
    Mahwah, NJ
    Posts
    644

    Default The UI_Get_Short_Time() Function

    I find the UI_Get_Short_Time() function to be a very neat way to enter short time. The user can type in the desired time or move the hands of the clock whichever they wish. However, it presents one minor mystery. Namely, the "Cancel" button.

    It displays both an "OK" and a "Cancel" button. It returns the selected short time as a character. I cannot find any way whatsoever to determine whether the user hit the "Cancel" button. It always returns a character type shorttime.

    Is this a shortcoming of the function or am I missing something?

    Steve

  2. #2
    Volunteer Moderator Peter.Greulich's Avatar
    Real Name
    Peter Greulich
    Join Date
    Apr 2000
    Location
    Boston, MA
    Posts
    11,644

    Default Re: The UI_Get_Short_Time() Function

    Steve,

    I ain't got no UI_Get_Short_Time()? Are you sure that it's not one of your own UDFs?

  3. #3
    "Certified" Alphaholic Stan Mathews's Avatar
    Real Name
    Stan Mathews
    Join Date
    Apr 2000
    Location
    Bowling Green, KY
    Posts
    25,119

    Default Re: The UI_Get_Short_Time() Function

    Peter,

    Just start typing it in the interactive and it will start to autocomplete.

    Steve,

    I'd call it a bug, just like you can't cancel ui_get_date_calendar().
    There can be only one.

  4. #4
    Volunteer Moderator Peter.Greulich's Avatar
    Real Name
    Peter Greulich
    Join Date
    Apr 2000
    Location
    Boston, MA
    Posts
    11,644

    Default Re: The UI_Get_Short_Time() Function

    Quote Originally Posted by Stan Mathews View Post
    Peter,

    Just start typing it in the interactive and it will start to autocomplete.
    Hhmm...

    It does pop up in the interactive, but I get this:

    ? ui_get_short_time()
    ERROR: Not an executable file

    It's not in the help file?

  5. #5
    "Certified" Alphaholic Stan Mathews's Avatar
    Real Name
    Stan Mathews
    Join Date
    Apr 2000
    Location
    Bowling Green, KY
    Posts
    25,119

    Default Re: The UI_Get_Short_Time() Function

    You have to supply at least the dialog title and default time, both character.

    ? ui_get_short_time("When",time())
    = "10:58:00 00 am"

    It's not in the help file?
    Something surprising to you in that?

    Actually, it is in the inline docs.

    ui_get_short_time() Function
    Prompts desktop user for a short time value.
    Syntax:
    C shorttime = ui_get_short_time(C dlgTitle ,C time [,L clockConnectHands [,N clockHourSnap [,N clockMinuteSnap [,L clockShowNumericInput ]]]])
    There can be only one.

  6. #6
    Volunteer Moderator Peter.Greulich's Avatar
    Real Name
    Peter Greulich
    Join Date
    Apr 2000
    Location
    Boston, MA
    Posts
    11,644

    Default Re: The UI_Get_Short_Time() Function

    Quote Originally Posted by Stan Mathews View Post
    You have to supply at least the dialog title and default time, both character.

    ? ui_get_short_time("When",time())
    = "10:58:00 00 am"

    Something surprising to you in that?

    Actually, it is in the inline docs.
    You're right.

    I searched the function with the () so it didn't show.

  7. #7
    Member
    Real Name
    Steve Andrews
    Join Date
    Jan 2004
    Location
    Mahwah, NJ
    Posts
    644

    Default Re: The UI_Get_Short_Time() Function

    Thanks, Stan & Peter. I guess it is a bug. But I'll just live with it and accept it since it isn't causing any major grief - just refreshing the field with a time whether you cancel or not. I suppose the user can get used to that. Thanks again.

    Steve

  8. #8
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: The UI_Get_Short_Time() Function

    Hi Stan,

    Quote Originally Posted by Stan Mathews View Post
    Steve,

    I'd call it a bug, just like you can't cancel ui_get_date_calendar().
    No, it's not a bug. If you put in a default time (which you must, as the function didn't default to the current time in the function parameter list), then change the time in the dialog and hit cancel, you get the default time value. If you hit OK, you get the new value. And this is as it should be.

    What you are really missing is a 3rd button (should be optional) to abort the process that the function is part of.

    There is nothing (IMHO) more irritating than starting a process, say printing a report, getting a whole lot of inputs for the filter via ui, then half-way through the prompts, realizing that wasn't what you want, but still being forced to enter through many additional UI prompts.

    Having an abort method, though, is already there on this dialog. It is the upper-right close box "X". When you press this key, it returns the default time (wrong), as opposed to a null string (right way), which could have been used in a test after the ui dialog to decide what to do in the code on an abort.

    Examples I used for testing are
    ?ui_get_short_time("Get Time",time())
    ?ui_get_date_calendar("Get Date",dtoc(date()))

    Note that in ui_get_date_calendar(), that a mouse click on a day implicitly selects OK. However, if you use the cursor keys to move to a different date, it does not, and that's how you can check the difference between OK and cancel
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  9. #9
    "Certified" Alphaholic Stan Mathews's Avatar
    Real Name
    Stan Mathews
    Join Date
    Apr 2000
    Location
    Bowling Green, KY
    Posts
    25,119

    Default Re: The UI_Get_Short_Time() Function

    I see your point. I suppose one could get a "null" result on cancel with.

    Code:
    ? ui_get_text("Nonsense","Enter some text")
    = ""
    
    ? ui_get_date_calendar("Nonsense",dtoc({}))
    = ""
    
    ? ui_get_short_time("Nonsense",time("00:00:00 00"))
    = ""
    There can be only one.

  10. #10
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: The UI_Get_Short_Time() Function

    Hi Stan,

    Quote Originally Posted by Stan Mathews View Post
    I see your point. I suppose one could get a "null" result on cancel with.
    ? ui_get_date_calendar("Nonsense",dtoc({}))
    = ""
    In this case, the default date is always today's date (which means you can't preset it to something else)

    Quote Originally Posted by Stan Mathews View Post
    ? ui_get_short_time("Nonsense",time("00:00:00 00"))
    = ""
    ? ui_get_short_time("Nonsense",time("12:00:00 00"))

    returns the same null value. In this case, I'd say the returned value of null is a bug, as you can never set the time to 12 midnight. Makes the function useless in my point of view (unless you correct it after leaving the dialog box)

    I have replacements for these Alpha functions (as well as many others) that don't exhibit these anomalies, have defaults that should be there, and typically run cleaner and faster, but then I spend a lot more time on the replacements than the original coding.
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  11. #11
    Member
    Real Name
    Steve Andrews
    Join Date
    Jan 2004
    Location
    Mahwah, NJ
    Posts
    644

    Default Re: The UI_Get_Short_Time() Function

    ? ui_get_short_time("Nonsense",time("12:00:00 00"))

    returns the same null value. In this case, I'd say the returned value of null is a bug, as you can never set the time to 12 midnight. Makes the function useless in my point of view (unless you correct it after leaving the dialog box).
    Hi Ira,

    I would prefer putting in the current time as the default rather than midnight. That is so that if they want to enter a recent time (say, 20 minutes ago), there would be only a minor adjustment. But using midnight as the default, they would have plenty of winding on the hands (or entry into the numerical portion of the dialog) which defeats the user-friendliness of this function. You may as well have a character-based user-entry field.

    When using the current time as the default, I have no way of knowing whether they pressed "OK" or "Cancel". If I did have a way, I would blank out the field upon their pressing "Cancel".

    Steve

  12. #12
    "Certified" Alphaholic MoGrace's Avatar
    Real Name
    Robin
    Join Date
    Mar 2006
    Location
    Los Angeles
    Posts
    3,699

    Default Re: The UI_Get_Short_Time() Function

    Quote Originally Posted by csda1 View Post
    I have replacements for these Alpha functions (as well as many others) that don't exhibit these anomalies, have defaults that should be there, and typically run cleaner and faster, but then I spend a lot more time on the replacements than the original coding.
    I for one, would really like to see those functions!
    Robin

    Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

Similar Threads

  1. Function as a variable in an xbasic function
    By Sparticuz in forum Application Server Version 11 - Web/Browser Applications
    Replies: 0
    Last Post: 06-22-2012, 02:30 PM
  2. Is it possible to call a Function from a Function?
    By OOsorio in forum Alpha Five Version 8
    Replies: 4
    Last Post: 04-21-2011, 11:17 PM
  3. is there a built command/function to replace this user Function?
    By Graham Wickens in forum Alpha Five Version 6
    Replies: 4
    Last Post: 12-07-2005, 11:54 AM
  4. IF Function
    By e. ghun in forum Alpha Five Version 4
    Replies: 3
    Last Post: 10-26-2002, 04:12 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •