Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
#Region ### START Koda GUI section ### Form=C:\Documents and Settings\Administrador\Mis documentos\Contador.kxf
$Form1 = GUICreate("Contador de dias", 633, 384, 192, 124)
$Group1 = GUICtrlCreateGroup("Calendario", 8, 8, 617, 369)
$MonthCal1 = GUICtrlCreateMonthCal(@YEAR & "/" & @MON & "/" & @MDAY, 24, 24, 193, 161)
$Label1 = GUICtrlCreateLabel("Dias de plazo:", 240, 32, 71, 17)
$Input1 = GUICtrlCreateInput("0", 360, 28, 49, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
$Label2 = GUICtrlCreateLabel("Dias extras festivos:", 240, 64, 98, 17)
$Input2 = GUICtrlCreateInput("0", 359, 60, 49, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
$Group2 = GUICtrlCreateGroup("Resultado", 24, 200, 593, 113)
$Label3 = GUICtrlCreateLabel("Fecha limite para dias habiles:", 48, 224, 145, 17)
$Label4 = GUICtrlCreateLabel("Fecha limite para dias laborables:", 48, 246, 160, 17)
$Label5 = GUICtrlCreateLabel("Dias que faltan/exceden el plazo:", 48, 268, 160, 17)
$Input3 = GUICtrlCreateInput("Sin establecer", 224, 220, 385, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY))
$Input4 = GUICtrlCreateInput("Sin establecer", 224, 242, 385, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY))
$Input5 = GUICtrlCreateInput("Sin establecer", 224, 264, 385, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Calcular", 24, 320, 177, 49, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Acerca de", 231, 320, 177, 49, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Salir", 440, 320, 177, 49, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
$Contador=0
Switch $nMsg
Case $Button1
$fecha=GUICtrlRead ( $MonthCal1 )
$fechaH=GUICtrlRead ( $MonthCal1 )
$Hoy= @YEAR & "/" & @MON & "/" & @MDAY
$diasdefiesta=GUICtrlRead ( $Input2 )
$Plazo=GUICtrlRead ( $Input1 )
$Plazocompleto=$Plazo+$diasdefiesta
While 1
If $Contador<$Plazo then
$fechaH = _DateAdd( 'd',1, $fechaH)
$HAno=StringMid ($fechaH, 1, 4 )
$HMes=StringMid ($fechaH, 6, 2 )
$HDia=StringMid ($fechaH, 9, 2 )
$Diadelasemana=_DateToDayOfWeek($HAno, $HMes, $HDia)
$Contador=$Contador+1
Else
ExitLoop
EndIf
WEnd
GUICtrlSetData($Input3, $HDia & "/" & $HMes & "/" & $HAno )
$Contador=0
While 1
If $Contador<$Plazocompleto then
$fecha = _DateAdd( 'd',1, $fecha)
$Ano=StringMid ($fecha, 1, 4 )
$Mes=StringMid ($fecha, 6, 2 )
$Dia=StringMid ($fecha, 9, 2 )
$Diadelasemana=_DateToDayOfWeek($Ano, $Mes, $Dia)
if $Diadelasemana=7 Or $Diadelasemana=1 Then
Else
$Contador=$Contador+1
EndIf
Else
ExitLoop
EndIf
WEnd
GUICtrlSetData($Input4, $Dia & "/" & $Mes & "/" & $Ano )
$Habiles=_DateDiff('d',$hoy, $fechaH)
$Laborables=_DateDiff('d',$hoy, $fecha)
GUICtrlSetData($Input5, $Habiles & " Dias para la fecha de habiles o " & $Laborables & " para la fecha de laborables." )
Case $Button3
Exit
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Pues asi va quedando para quien le interese o quiera mejorar algo.