>>>>#define true .T. >>>>#define false .F. >>>> >>>>set procedure to .\prog\PingBits additive >>>> >>>>local success >>>>success = true >>>> >>>> >>>>local obj >>>> >>>>local replyAddress, ; >>>> replyStatus, ; >>>> replyRoundTripTime, ; >>>> replyDataSize, ; >>>> replyData >>>> >>>>local pingArray[4] >>>>pingArray[1] = '192.168.0.2' >>>>pingarray[2] = 'www.altavista.com' >>>>pingarray[3] = 'www.levelextreme.com' >>>> >>>>pingarray[4] = 'www.abc.pp.com' >>>> >>>>do case >>>>case !m.success >>>> >>>>case !PingBits_Object(@m.obj) >>>> assert false >>>> success = false >>>> >>>>otherwise >>>> local site, reachable >>>> >>>> >>>> for each site in pingarray >>>> ?m.site, chr(0x09) >>>> reachable= m.obj.Ping( ; >>>> m.site, ; >>>> 1000, ; >>>> @m.replyAddress, ; >>>> @m.replyStatus, ; >>>> @m.replyRoundTripTime, ; >>>> @m.replyDataSize, ; >>>> @m.replyData ; >>>> ) >>>> >>>> if( !m.reachable) >>>> ?? 'Failed' >>>> >>>> else >>>> ?? 'ms= ', replyRoundTripTime, 'address = ', replyAddress, ' received: ', m.replyData >>>> >>>> endif >>>> >>>> endfor >>>> >>>>endcase >>>>>>>Thank you! - that looks excellent. Won't have time to look at it properly until later (one immediate snag though - I'm on VPF 8 so CTOBIN() doesn't support the flags parameter....)
>>>>