BBjInputT::setValue

Description

In BBj 24.00 and higher, this method sets the time value of the BBjInputT control in the same format as the BBx TIM variable.

Syntax

Return Value Method
void setValue(number value)

Parameters

Parameter Description
value Specifies the time value to be set in the control in the same format as the BBx TIM variable.

Return Value

None.

Example

rem ' BBjInputT::setValue

sysgui = unt
open (sysgui)"X0"
print (sysgui)'scale'(1.5,1.5)
sysgui! = bbjapi().getSysGui()

font! = sysgui!.makeFont("SansSerif",12,0)

window! = sysgui!.addWindow(25,25,300,400,"setLocale",$00090083$,$00E3F007CD$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.addStaticText(200,0,20,100,25,"Locale:",$8000$)
locales! = window!.addListButton(100,110,20,180,300,"")
locales!.setCallback(locales!.ON_LIST_SELECT,"locale")
window!.addStaticText(201,0,60,100,25,"Date:",$8000$)
inputd! = window!.addInputD(101,110,60,130,25)
inputd!.setToolTipText("BBjInputD")
showDatePicker! = window!.addToolButton(301,250,60,25,25,"BITMAP=calendar.png")
showDatePicker!.setFont(font!)
showDatePicker!.setCallback(showDatePicker!.ON_TOOL_BUTTON_PUSH,"showDatePicker")

rem ' https://www.fileformat.info/info/unicode/char/1f4c5/index.htm
calendar! = new String($d83ddcc5$,"UTF-16")
showDatePicker!.setText(calendar!)
showDatePicker!.setToolTipText("showDatePicker")
window!.addStaticText(400,0,100,100,25,"Date Mask:",$8000$)
window!.addStaticText(401,110,100,120,25,"",$$)
window!.addStaticText(202,0,130,105,30,"Show Weeks?",$8000$)
showWeeks! = window!.addCheckBox(102,110,125,30,30,"")
showWeeks!.setCallback(showWeeks!.ON_CHECK_CHANGE,"showWeeks")
window!.addStaticText(501,0,160,100,25,"Time:",$8000$)
inputt! = window!.addInputT(601,110,160,130,25)
inputt!.setToolTipText("BBjInputT")
inputt!.setCallback(inputt!.ON_EDIT_MODIFY,"edit")
showTimePicker! = window!.addToolButton(602,250,160,25,25,"BITMAP=clock.png")
showTimePicker!.setFont(font!)
showTimePicker!.setCallback(showTimePicker!.ON_TOOL_BUTTON_PUSH,"showTimePicker")

rem ' https://www.fileformat.info/info/unicode/char/1f550/index.htm
clock! = new String($d83ddd50$,"UTF-16")
showTimePicker!.setText(clock!)
showTimePicker!.setToolTipText("showTimePicker")
window!.addStaticText(700,0,200,100,25,"Time Mask:",$8000$)
window!.addStaticText(701,110,200,120,25,"",$$)
mask$ = "00:00:00"
inpute! = window!.addInputE(801,110,240,130,25,$0000$,mask$)
inpute!.setToolTipText("BBjInputE mask 00:00:00")

editbox! = window!.addEditBox(802,110,280,140,25,"",$$,"time")
mask$="%Hz:%mz:%sz.000"
editbox!.setToolTipText("BBjEditBox time " + mask$ + " (Browser only)")
editbox!.setAttribute("step","60"); rem ' hh:mm
editbox!.setAttribute("step","1"); rem ' hh:mm:ss
editbox!.setAttribute("step","0.001"); rem ' hh:mm:ss.xxx

window!.addStaticText(900,0,320,100,25,"JavaScript:",$8000$)
intl! = window!.addStaticText(901,110,320,180,40,"",$$)

status! = window!.addStatusBar(99)

gosub setup_locale
gosub locale

process_events

eoj:
release

setup_locale:
    locale$ = stbl("!LOCALE")
    locales$ = stbl("!LOCALES")
    count = pos($0a$=locales$,1,0)
    pos = pos(stbl("!LOCALE")=locales$)
    index = pos($0a$=locales$(1,pos),1,0)
    print (sysgui)'listadd'(100,-1,count),locales$,'listsel'(100,index)
    dim locales$:"code["+str(count)+"]:c(1*=10)"
    locales$ = stbl("!LOCALES")
return

locale:
    Locale$ = stbl("!LOCALE",locales.code$[dec(ctrl(sysgui,100,2,context))+1])
    Locale! = Locale$
    token! = Locale!.split("_", 3)
    tokens = token!.length
    LanguageCode$ = "", CountryCode$ = "", VariantCode$ = ""
    if tokens > 0 then LanguageCode$ = token![0]
    if tokens > 1 then CountryCode$ = token![1]
    if tokens > 2 then VariantCode$ = token![2]
    Locale! = new java.util.Locale(languageCode$, countryCode$, variantCode$)
    print (sysgui)'title'(0,Locale!.getDisplayName()+" - INPUTT")
    DateMask$=stbl("!DATE"),DateMask=pos($00$=DateMask$),DateMask$=DateMask$(1,DateMask-1)
    inputd!.setLocale(Locale$)
    inputd!.setMask(DateMask$)
    inputd!.setValue(0)
    print (sysgui)'title'(401,DateMask$)
    print "!TIME=",stbl("!TIME")
    TimeMask$=stbl("!TIME"),TimeMask=pos($00$=TimeMask$),TimeMask$=TimeMask$(1,TimeMask-1)
    inputt!.setLocale(Locale$)
    inputt!.setMask(TimeMask$)
    inputt!.setValue(tim)
    print "BBjInputT::getValue =",inputt!.getValue()
    inpute!.setText(date(0,tim:"%Hz%mz%sz"))
    time$ = stbl("!TIME")+" "+date(0:TimeMask$)
    print (sysgui)'title'(99,Time$)
    print (sysgui)'title'(701,TimeMask$)

    locale$ = languageCode$
    if (len(variantCode$)) then
        temp$ = variantCode$
        if pos("#"=temp$)=1 then temp$ = temp$(2)
        locale$ = locale$ + "-" + temp$
    endif
    if (len(countryCode$)) then
        locale$ = locale$ + "-" + countryCode$
    endif

    print locale$

    timeStyle$ = iff(pos("%s"=TimeMask$),"medium","short")
    js$ = "dtf = new Intl.DateTimeFormat('"+locale$+"', { timeStyle: '"+timeStyle$+"' }); dtf.format(new Date());"
    intl!.setText("")
    intl!.setToolTipText(js$)
    js! = sysgui!.executeScript(js$)
    print js$," = ",js!
    if (js!=null()) then
        rem ' try without the variant code
        locale$ = languageCode$
        if (len(countryCode$)) then
            locale$ = locale$ + "-" + countryCode$
        endif
        print locale$
        js$ = "dtf = new Intl.DateTimeFormat('"+locale$+"', { timeStyle: '"+timeStyle$+"' }); dtf.format(new Date());"
        intl!.setToolTipText(js$)
        js! = sysgui!.executeScript(js$)
        print js$," = ",js!
    endif
    if (js!<>null()) then
        intl!.setText(js!)
    endif
return

edit:
    event! = sysgui!.getLastEvent()
    text$ = event!.getText()
    time = -1, time = time(text$,err=*next)
    if time < 0 then time$ = "!ERROR="+str(err)+" "+errmes(-1) else time$ = "TIM="+str(time)
    info$ = event!.getEventName()+" '"+text$+"' "+time$
    print info$
    print (sysgui)'title'(99,info$)
return

showDatePicker:
    inputd!.calendar()
return

showTimePicker:
    time = inputt!.getValue()
    mask$ = inputt!.getMask()
    time$ = ""
    if time>=0 then time$ = date(0,time,mask$)
    msg$ = str(time)+" "+time$
    print "BBjInputT::getValue: ",msg$

    rem 'i = msgbox(str(time)+" "+time$,0,"BBjInputT::getValue")
    inputt!.showTimePicker()
return

showWeeks:
    event! = sysgui!.getLastEvent()
    inputd!.setShowWeeks(event!.isChecked())
return

ClosedVersion History

  • BBj 24.00: BBjInputT::setValue added.

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.