| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1030 人关注过本帖
标题:请问:如何调用windows日期时间控件并返回值
只看楼主 加入收藏
tdlx
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2013-2-7
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:10 
请问:如何调用windows日期时间控件并返回值
如何调用windows日期时间控件并返回值
搜索更多相关主题的帖子: windows 时间 如何 
2013-02-25 22:05
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
Run/N Control Timedate.cpl
2013-02-25 22:15
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
office里有MSCAL.OCX这个东东

可以研究一下   我刚才往表单上拖拽没成功  现在没精力研究这个东东哦

DO IT YOURSELF !
2013-02-25 22:31
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:4 
VFP中调用API函数获取并设置系统时间
http://www.

坚守VFP最后的阵地
2013-02-26 06:29
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
程序代码:
* 获取、设置系统时间
* 红雨
*----------------------------

Local oForm
oForm = createobject("SetDate")
oForm.show(1)
retu

Define CLASS SetDate AS form

    Top = 0
    Left = 0
    Height = 140
    Width = 339
    DoCreate = .T.
    Caption = "设置系统日期"
    WindowType = 1
    Name = "Form1"

    Add OBJECT label1 AS label WITH ;
        AutoSize = .F., ;
        Caption = "年", ;
        Height = 16, ;
        Left = 34, ;
        Top = 24, ;
        Width = 14, ;
        TabIndex = 7, ;
        Name = "Label1"

    Add OBJECT label2 AS label WITH ;
        AutoSize = .F., ;
        Caption = "月", ;
        Height = 16, ;
        Left = 34, ;
        Top = 61, ;
        Width = 14, ;
        TabIndex = 8, ;
        Name = "Label2"

    Add OBJECT label3 AS label WITH ;
        AutoSize = .F., ;
        Caption = "日", ;
        Height = 16, ;
        Left = 34, ;
        Top = 97, ;
        Width = 14, ;
        TabIndex = 9, ;
        Name = "Label3"

    Add OBJECT command1 AS commandbutton WITH ;
        Top = 19, ;
        Left = 223, ;
        Height = 25, ;
        Width = 84, ;
        Caption = "设置", ;
        TabIndex = 4, ;
        Name = "Command1"

    Add OBJECT command2 AS commandbutton WITH ;
        Top = 54, ;
        Left = 223, ;
        Height = 25, ;
        Width = 84, ;
        Caption = "查看系统日期", ;
        TabIndex = 5, ;
        Name = "Command2"

    Add OBJECT command3 AS commandbutton WITH ;
        Top = 91, ;
        Left = 223, ;
        Height = 25, ;
        Width = 84, ;
        Caption = "关闭", ;
        TabIndex = 6, ;
        Name = "Command3"

    Add OBJECT spinner1 AS spinner WITH ;
        Height = 20, ;
        Left = 59, ;
        SpinnerHighValue = 2100.00, ;
        SpinnerLowValue = 1980.00, ;
        TabIndex = 1, ;
        Top = 18, ;
        Width = 120, ;
        Name = "Spinner1"

    Add OBJECT spinner2 AS spinner WITH ;
        Height = 20, ;
        Left = 59, ;
        SpinnerHighValue =  12.00, ;
        SpinnerLowValue =   1.00, ;
        TabIndex = 2, ;
        Top = 57, ;
        Width = 120, ;
        Name = "Spinner2"

    Add OBJECT spinner3 AS spinner WITH ;
        Height = 20, ;
        Left = 59, ;
        SpinnerHighValue =  31.00, ;
        SpinnerLowValue =   1.00, ;
        TabIndex = 3, ;
        Top = 92, ;
        Width = 120, ;
        Name = "Spinner3"

    Procedure decimal2hex
        Lparameters tnvalue, ;
            tnplaces
        Local lnplaces, ;
            lchex, ;
            lcout, ;
            lni
        lnplaces = IIF(pcount() = 1, 4, tnplaces)
        lchex = thisform.reversedecimal2hex(tnvalue, lnplaces)
        lcout = ''
        For lni = 1 TO lnplaces
            lcout = lcout + SUBSTR(lchex, lnplaces - lni + 1, 1)
        Next lni
        Return lcout
    Endproc

    Procedure reversedecimal2hex
        Lparameters tnvalue, ;
            tnplaces
        Local lndecimal, ;
            lchex, ;
            lncurrdecimals, ;
            lnplaces, ;
            lni, ;
            lnexponent, ;
            lntemp
        lndecimal = tnvalue
        lchex = ''
        lncurrdecimals = SET('DECIMALS')
        lnplaces = IIF(pcount() = 1, 4, tnplaces)
        Set DECIMALS TO 17
        For lni = lnplaces TO 1 STEP -1
            lnexponent = 256 ^ (lni - 1)
            lntemp = INT(lndecimal/lnexponent)
            lchex = lchex + CHR(lntemp)
            lndecimal = lndecimal - lntemp * lnexponent
        Next lni
        Set DECIMALS TO lncurrdecimals
        Return lchex
    Endproc

    Procedure reversehex2decimal
        Lparameters tcword
        Local lndecimal, ;
            lni
        lndecimal = 0
        For lni = LEN(tcword) TO 1 STEP -1
            lndecimal = lndecimal + ASC(SUBSTR(tcword, lni, 1)) * 256^(LEN(tcword) - lni)
        Next lni
        Return lndecimal
    Endproc

    Procedure hex2decimal
        Lparameters tcvalue, ;
            tlsigned
        Local lndecimal, ;
            lnlen, ;
            lni, ;
            lnmsb, ;
            lnmax
        lndecimal = 0
        lnlen = LEN(tcvalue)
        For lni = 1 TO lnlen
            lndecimal = lndecimal + ASC(SUBSTR(tcvalue, lni, 1)) * 256 ^ (lni - 1)
        Next lni
        If tlsigned
            lnmsb = (lnlen * 8) - 1
            If BITTEST(lndecimal, lnmsb)
                lnmax = 2 ^ (lnmsb + 1)
                lndecimal = lnresult - lnmax
            Endif
        Endif
        Return lndecimal
    Endproc

    Procedure Init
        Declare GetLocalTime IN Win32API STRING @lpSystemTime
        Declare SetLocalTime IN Win32API STRING lpSystemTime
        lpsystemtime = SPACE(16)
        If !getlocaltime(@lpsystemtime)
            Wait WINDOW "读取系统日期失败"
            Return .f.
        Else
            Thisform.spinner1.value = thisform.hex2decimal(SUBSTR(lpsystemtime,1,2))
            Thisform.spinner2.value = thisform.hex2decimal(SUBSTR(lpsystemtime,3,2))
            Thisform.spinner3.value =thisform.hex2decimal(SUBSTR(lpsystemtime,7,2))
        Endif
    Endproc

    Procedure command1.Click
        lpsystemtime = SPACE(16)

        If !getlocaltime(@lpsystemtime)
            Wait WINDOW "读取系统日期失败"
        Endif

        lpsystemtime = ;
            THISFORM.decimal2hex(THISFORM.spinner1.VALUE,2)+;
            THISFORM.decimal2hex(THISFORM.spinner2.VALUE,2)+;
            SUBSTR(lpsystemtime,5,2)+;
            THISFORM.decimal2hex(THISFORM.spinner3.VALUE,2)+;
            RIGHT(lpsystemtime,8)

        If !setlocaltime(lpsystemtime)
            Wait WINDOW "设置系统日期失败"
        Else
            Wait WINDOW "设置系统日期成功"
        Endif
    Endproc

    Procedure command2.Click
        Run/n control timedate.cpl
    Endproc

    Procedure command3.Click
        Thisform.release
    Endproc

Enddefine



坚守VFP最后的阵地
2013-02-26 06:56
tdlx
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2013-2-7
收藏
得分:0 
对不起,我没有说清楚,我要的是windows日期时间控件设置后返回的值。
2013-02-26 21:13
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
什么控件

坚守VFP最后的阵地
2013-02-26 21:39
zxl931
Rank: 2
等 级:论坛游民
帖 子:31
专家分:42
注 册:2007-1-8
收藏
得分:4 
楼主没说清楚:是操作系统“日期和时间 属性”那个设置窗口,还是DateTimePicker控件。
如果是前者,在设置完成后,用DATETIME()可取得电脑系统的日期和时间。
如果是后者,用thisform.olecontrol1.oBJECT.Value可得到控件的日期值。
2013-02-27 11:31
tdlx
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2013-2-7
收藏
得分:0 
日期.zip (4.08 KB)
我想得到的结果是在单击下拉框按钮时出现如图所示,并能得到所设置的日期
2013-03-02 15:50
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:4 
是 date and time picker control 控件? 返回的时间值? 日期值当然大家都知道:是: .. olecontrol._value,
但是,几点几分几秒,需要再其他方式确定。
2013-03-02 17:56
快速回复:请问:如何调用windows日期时间控件并返回值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023603 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved