Ja utilizei desta forma:
ACTION WinExec( "Calendar" )
mas no windows 7 não reconhece
esta forma abaixo não é interessante pois trás a tela de alteração do relógio e da data
WinExec( "Control date/time" )
alguém teria alguma outra maneira ?

Moderador: Moderadores
ACTION WinExec( "Calendar" )
WinExec( "Control date/time" )
WinExec( "CONTROL TIMEDATE.CPL" )
*****************************************
* DlgCalendar.prg
* ADD Por Daiane 13/05/2016
*****************************************
#include "FiveWin.ch"
static DlgCalendar
//----------------------------------------------------------------------------//
CLASS DlgCalendar FROM JanDlg
export:
METHOD getInstance(oWnd)
METHOD BuildDlg()
hidden:
METHOD New(oWnd) CONSTRUCTOR
METHOD DeleteW()
METHOD Inicializar()
METHOD Anterior()
METHOD PosteriorP()
METHOD DiaDoMes()
DATA cMes,cDiaMes,gDiaMes,gMes,NewData,NewMes
DATA bAnte,bPosterior,xmm,xaa,cxAno,gxAno
ENDCLASS
METHOD getInstance(oWnd) CLASS DlgCalendar
IF DlgCalendar = nil
DlgCalendar := ::New(oWnd,"#8029", 0, 0,"Calendario")
ELSE
DlgCalendar:oChld:SetFocus()
ENDIF
return DlgCalendar
//------------------------------------------------------------------------------
METHOD New(oWind,cIcone,vLarg,vAlt,cTitulo) CLASS DlgCalendar
super:New(oWind,cIcone,vLarg,vAlt,cTitulo)
::NewData := date()
ACTIVATE DIALOG ::oDlg NOMODAL CENTERED;
VALID ( DlgCalendar:oChld:End() , .t. )
RETURN self
//------------------------------------------------------------------------------
METHOD BuildDlg() CLASS DlgCalendar
DEFINE DIALOG ::oDlg RESOURCE "#2003" OF ::oChld ;
TITLE "Calendario" Color 1, nRGB(209,209,209)
::cDiaMes := ARRAY(37)
::gDiaMes := ARRAY(37)
REDEFINE SAY ID 4031 OF ::oDlg
REDEFINE GET ::gMes VAR ::cMes ID 4037 OF ::oDlg when .f.
REDEFINE GET ::gDiaMes[1] VAR ::cDiaMes[1] ID 4001 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[2] VAR ::cDiaMes[2] ID 4006 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[3] VAR ::cDiaMes[3] ID 4002 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[4] VAR ::cDiaMes[4] ID 4003 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[5] VAR ::cDiaMes[5] ID 4004 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[6] VAR ::cDiaMes[6] ID 4005 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[7] VAR ::cDiaMes[7] ID 4007 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[8] VAR ::cDiaMes[8] ID 4008 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[9] VAR ::cDiaMes[9] ID 4013 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[10] VAR ::cDiaMes[10] ID 4009 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[11] VAR ::cDiaMes[11] ID 4010 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[12] VAR ::cDiaMes[12] ID 4011 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[13] VAR ::cDiaMes[13] ID 4012 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[14] VAR ::cDiaMes[14] ID 4014 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[15] VAR ::cDiaMes[15] ID 4015 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[16] VAR ::cDiaMes[16] ID 4020 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[17] VAR ::cDiaMes[17] ID 4016 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[18] VAR ::cDiaMes[18] ID 4017 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[19] VAR ::cDiaMes[19] ID 4018 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[20] VAR ::cDiaMes[20] ID 4019 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[21] VAR ::cDiaMes[21] ID 4021 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[22] VAR ::cDiaMes[22] ID 4022 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[23] VAR ::cDiaMes[23] ID 4027 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[24] VAR ::cDiaMes[24] ID 4023 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[25] VAR ::cDiaMes[25] ID 4024 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[26] VAR ::cDiaMes[26] ID 4025 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[27] VAR ::cDiaMes[27] ID 4026 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[28] VAR ::cDiaMes[28] ID 4028 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[29] VAR ::cDiaMes[29] ID 4029 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[30] VAR ::cDiaMes[30] ID 4034 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[31] VAR ::cDiaMes[31] ID 4030 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[32] VAR ::cDiaMes[32] ID 4032 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[33] VAR ::cDiaMes[33] ID 4035 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[34] VAR ::cDiaMes[34] ID 4033 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[35] VAR ::cDiaMes[35] ID 4036 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[36] VAR ::cDiaMes[36] ID 4040 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gDiaMes[37] VAR ::cDiaMes[37] ID 4041 OF ::oDlg when .f. UPDATE
REDEFINE GET ::gxAno VAR ::cxAno ID 4045 OF ::oDlg when .f. UPDATE
REDEFINE BUTTONBMP ::bAnte ID 4039 OF ::oDlg BITMAP "#7049";
ACTION ::Anterior() UPDATE
REDEFINE BUTTONBMP ::bAnte ID 4038 OF ::oDlg BITMAP "#7050";
ACTION ::PosteriorP() UPDATE
REDEFINE BUTTON ::bCancelar ID 4044 ACTION DlgCalendar:oDlg:End() UPDATE CANCEL
::inicializar()
return
//-----------------------------------------------------------------------------
METHOD DeleteW() CLASS DlgCalendar
DlgCalendar := nil
return .T.
//-----------------------------------------------------------------------------
METHOD Anterior() CLASS DlgCalendar
yaux := 0
xdate := ctod("")
xday := day(::NewData)
xmonth := month(::NewData) - 1
xyear := year(::NewData)
if xmonth < 1
xmonth := 12
xyear--
endif
xdate := ctod(str(xday,2)+"/"+str(xmonth,2)+"/"+str(xyear))
::NewData := xdate
::cMes := Mfolha():Meses(::NewData)
::gMes:Refresh()
::xmm:= MONTH(::NewData)
::xaa:= left(dtos(::NewData),4)
::cxAno := ::xaa
::gxAno:Refresh()
yCont := ::DiaDoMes()
yUltimoDia := ULTIMODIA("/"+STRZERO(::xmm,2)+"/"+alltrim(::xaa))
FOR i := 1 to 37
if i >= yCont .and. yaux <= (day(yUltimoDia)-1)
yaux++
::cDiaMes[i] := alltrim(str(yaux))
else
::cDiaMes[i] := space(2)
endif
NEXT
FOR i := 1 to 37
::gDiaMes[i]:Refresh()
NEXT
return
//------------------------------------------------------------------------------
METHOD PosteriorP() CLASS DlgCalendar
xaux := 0
::NewData := addmonth(::NewData)
::cMes := Mfolha():Meses(::NewData)
::gMes:Refresh()
::NewMes := ALLTRIM(STR(MONTH(::NewData)))
::xmm:= MONTH(::NewData)
::xaa:= left(dtos(::NewData),4)
::cxAno := ::xaa
::gxAno:Refresh()
xCont := ::DiaDoMes()
xUltimoDia := ULTIMODIA("/"+STRZERO(::xmm,2)+"/"+alltrim(::xaa))
FOR i := 1 to 37
if i >= xCont .and. xaux <= (day(xUltimoDia)-1)
xaux++
::cDiaMes[i] := alltrim(str(xaux))
else
::cDiaMes[i] := space(2)
endif
NEXT
FOR i := 1 to 37
::gDiaMes[i]:Refresh()
NEXT
return
//------------------------------------------------------------------------------
METHOD inicializar() CLASS DlgCalendar
xaux := 0
::NewData := date()
::cMes := Mfolha():Meses(::NewData)
::gMes:Refresh()
::NewMes := ALLTRIM(STR(MONTH(::NewData)))
::xmm:= MONTH(::NewData)
::xaa:= left(dtos(::NewData),4)
::cxAno := ::xaa
::gxAno:Refresh()
xCont := ::DiaDoMes()
xUltimoDia := ULTIMODIA("/"+STRZERO(::xmm,2)+"/"+alltrim(::xaa))
FOR i := 1 to 37
if i >= xCont .and. xaux <= (day(xUltimoDia)-1)
xaux++
::cDiaMes[i] := alltrim(str(xaux))
else
::cDiaMes[i] := space(2)
endif
NEXT
FOR i := 1 to 37
::gDiaMes[i]:Refresh()
NEXT
return .T.
//-------------------------------------------------------------------------------
METHOD DiaDoMes() CLASS DlgCalendar
xDiaSemana := CDOW(ctod("01/"+ alltrim(str(::xmm)) + "/"+left(dtos(::NewData),4)))
xDia := 1
if xDiaSemana = "Monday"
xDia := 2
elseif xDiaSemana = "Tuesday"
xDia := 3
elseif xDiaSemana = "Wednesday"
xDia := 4
elseif xDiaSemana = "Thursday"
xDia := 5
elseif xDiaSemana = "Friday"
xDia := 6
elseif xDiaSemana = "Saturday"
xDia := 7
elseif xDiaSemana = "Sunday"
xDia := 1
endif
RETURN xDia
//////////////////////////////////////////////////////////////////////////////
//
// Resource Script generated by Anders Melander's Resource Editor
//
//////////////////////////////////////////////////////////////////////////////
// DIALOGEX : Dialog
2003 DIALOGEX 6, 18, 234, 218
LANGUAGE LANG_PORTUGUESE,SUBLANG_PORTUGUESE_BRAZILIAN // Português (Brasil)
CAPTION "Dialog"
EXSTYLE 0 // 0x00000000L
STYLE DS_3DLOOK | DS_FIXEDSYS | DS_SETFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU | WS_DLGFRAME | WS_BORDER | WS_VISIBLE | WS_POPUP // 0x90CB20CCL
FONT 8, "Tahoma", 0, 0, 1
BEGIN
CONTROL "", 4001, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 52, 72, 16, 12
CONTROL "", 4006, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 72, 72, 16, 12
CONTROL "", 4002, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 92, 72, 16, 12
CONTROL "", 4003, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 112, 72, 16, 12
CONTROL "", 4004, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 132, 72, 16, 12
CONTROL "", 4005, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 152, 72, 16, 12
CONTROL "", 4007, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 172, 72, 16, 12
CONTROL "", 4008, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 52, 92, 16, 12
CONTROL "", 4013, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 72, 92, 16, 12
CONTROL "", 4009, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 92, 92, 16, 12
CONTROL "", 4010, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 112, 92, 16, 12
CONTROL "", 4011, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 132, 92, 16, 12
CONTROL "", 4012, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 152, 92, 16, 12
CONTROL "", 4014, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 172, 92, 16, 12
CONTROL "", 4015, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 52, 112, 16, 12
CONTROL "", 4020, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 72, 112, 16, 12
CONTROL "", 4016, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 92, 112, 16, 12
CONTROL "", 4017, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 112, 112, 16, 12
CONTROL "", 4018, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 132, 112, 16, 12
CONTROL "", 4019, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 152, 112, 16, 12
CONTROL "", 4021, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 172, 112, 16, 12
CONTROL "", 4022, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 52, 132, 16, 12
CONTROL "", 4027, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 72, 132, 16, 12
CONTROL "", 4023, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 92, 132, 16, 12
CONTROL "", 4024, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 112, 132, 16, 12
CONTROL "", 4025, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 132, 132, 16, 12
CONTROL "", 4026, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 152, 132, 16, 12
CONTROL "", 4028, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 172, 132, 16, 12
CONTROL "", 4029, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 52, 152, 16, 12
CONTROL "", 4034, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 72, 152, 16, 12
CONTROL "", 4030, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 92, 152, 16, 12
CONTROL "", 4032, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 112, 152, 16, 12
CONTROL "", 4035, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 132, 152, 16, 12
CONTROL "", 4033, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 152, 152, 16, 12
CONTROL "", 4036, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 172, 152, 16, 12
CONTROL "", 4037, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_VISIBLE | WS_CHILD, 60, 32, 116, 12
CONTROL "", 4038, "Button", WS_TABSTOP | WS_VISIBLE | WS_CHILD, 184, 32, 20, 14
CONTROL "", 4039, "Button", WS_TABSTOP | WS_VISIBLE | WS_CHILD, 28, 32, 20, 14
CONTROL " D S T Q Q S S", 4031, "Static", WS_GROUP | WS_VISIBLE | WS_CHILD, 52, 56, 140, 8
CONTROL "", 4040, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 52, 168, 16, 12
CONTROL "", 4041, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_DISABLED | WS_VISIBLE | WS_CHILD, 72, 168, 16, 12
CONTROL "", 4042, "Button", 00000001L | 00000002L | 00000004L | WS_VISIBLE | WS_CHILD, 20, 8, 192, 40
CONTROL "", 4043, "Button", 00000001L | 00000002L | 00000004L | WS_VISIBLE | WS_CHILD, 4, 0, 224, 188
CONTROL "&Sair", 4044, "Button", WS_TABSTOP | WS_VISIBLE | WS_CHILD, 84, 192, 68, 18
CONTROL "", 4045, "Edit", 00000001L | 00000080L | WS_TABSTOP | WS_BORDER | WS_VISIBLE | WS_CHILD, 60, 16, 116, 12
END
//////////////////////////////////////////////////////////////////////////////
//
// VERSIONINFO : VersionInfo
//
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x0L
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo" BEGIN
BLOCK "040904B0" BEGIN
VALUE "FileVersion", "1.0"
VALUE "ProductVersion", "1.0.0.0"
VALUE "Comments", "Add-in template for Pelles C"
VALUE "FileDescription", "Description for resources.c"
END
END
BLOCK "VarFileInfo" BEGIN
VALUE "Translation", 0x0409, 1200 // Inglês (Estados Unidos)
END
END
Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes