>>>>>#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....)
>>>>>>