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