I re-wrote the SerialTime() UDF to handle day roll-overs to simplify the below code a little bit.
Code:
$computers = 'comp1','comp2','comp3','comp4','comp5','comp6','comp7','comp8','comp9','comp10',
'comp11','comp12','comp13','comp14','comp15','comp16','comp17','comp18','comp19','comp20','comp21',
'comp22','comp23','comp24','comp25','comp26','comp27','comp28','comp29','comp30','comp31','comp32',
'comp33','comp34','comp35','comp36','comp37','comp38','comp39','comp40','comp41','comp42','comp43',
'comp44','comp45','comp46','comp47','comp48','comp49','comp50','comp51','comp52','comp53','comp54',
'comp55','comp56','comp57','comp58','comp59','comp60','comp61','comp62','comp63','comp64','comp65',
'comp66','comp67','comp68','comp69','comp70','comp71','comp72','comp73','comp74','comp75','comp76'
$time='16:30'
$timediff='00:30'
$starthour=Split($time,':')[0]
$date = @date
For Each $comp In $computers
$d = Split($date,'/')[1] + '/' + Split($date,'/')[2] + '/' + Split($date,'/')[0]
? 'Task will be scheduled on '+$comp+' on '+$d+' at '+$time
?
$time=serialtime(serialtime($time)+serialtime($timediff))
$day=val(Split($time,':')[0])
$hour=Split($time,':')[1]
$minute=Split($time,':')[2]
$time=$hour+':'+$minute
If $day>0
$date=DateMath($date, $day)
Endif
Next
get $
New SerialTime()
Code:
function serialtime($strtime)
dim $day,$days,$hours, $minutes, $seconds, $milliseconds
if instr($strtime,':')
$strtime=split($strtime,':')
select
case ubound($strtime)<3
redim preserve $strtime[3]
if instr($strtime[2],'.')
$strtime[3]=right($strtime[2],len($strtime[2])-instr($strtime[2],'.'))
$strtime[2]=left($strtime[2],instr($strtime[2],'.')-1)
else
$strtime[3]=0
endif
case ubound($strtime)>3
$serialtime=-1
exit 87
endselect
$hours=val($strtime[0])
if $hours>23
$days=val($hours/24)
for $day=1 to $days
$hours=$hours-24
next
else
$days=0
endif
if $hours<0
$serialtime=-1
exit 87
endif
$minutes=val($strtime[1])
if $minutes<0 or $minutes>59
$serialtime=-1
exit 87
endif
$seconds=val($strtime[2])
if $seconds<0 or $seconds>59
$serialtime=-1
exit 87
endif
$milliseconds=cdbl($strtime[3])
if $milliseconds<0 or $milliseconds>999
$serialtime=-1
exit 87
endif
$serialtime=0.0+($days*86400)+($hours*3600)+($minutes*60)+($seconds)+($milliseconds/1000)
else
$strtime=val(cdbl($strtime)*1000)
if $strtime>=0
if $strtime>86400000
$days=$strtime/86400000
for $day=1 to $days
$strtime=$strtime-86400000
next
if len($days)<2
$days=right('00'+$days,2)
endif
else
$days='00'
endif
$hours=$strtime/3600/1000
$strtime=$strtime-($hours*3600*1000)
$hours=right('00'+$hours,2)
$minutes=$strtime/60/1000
$strtime=$strtime-($minutes*60*1000)
$minutes=right('00'+$minutes,2)
$seconds=$strtime/1000
$strtime=$strtime-($seconds*1000)
$seconds=right('00'+$seconds,2)
$milliseconds=left($strtime,3)
$milliseconds=right('000'+$milliseconds,3)
$serialtime=$days+':'+$hours+':'+$minutes+':'+$seconds+'.'+$milliseconds
else
$serialtime='-1'
exit 87
endif
endif
endfunction