? IpToMacAddress("192.168.1.0")
FUNCTION IpToMacAddress(lcIP)
DECLARE INTEGER
inet_addr IN ws2_32.dll STRING cIP
DECLARE INTEGER SendARP IN iphlpapi.dll;
INTEGER destIP, INTEGER sourceIP,;
STRING @ pMacAddr, INTEGER @ PhyAddrLen
LOCAL lnHr, lnIpAddr, lcMacAddr, lnLen
lnIpAddr = inet_addr(lcIp)
lcMacAddr = REPLICATE(CHR(0),6)
lnLen = 6
lnHr = SendARP(lnIpAddr,0,@lcMacAddr,@lnLen)
RETURN BinaryToMac(lcMacAddr,lnLen)
ENDFUNC
FUNCTION BinaryToMac(lcMacAddr, lnLen)
LOCAL lcMac, xj
lcMac = ""
FOR xj = 1 TO lnLen - 1
lcMac = lcMac + RIGHT(TRANSFORM(ASC(;
SUBSTR(lcMacAddr,xj,1)),"@0"),2) + ":"
ENDFOR
lcMac = lcMac + RIGHT(TRANSFORM(ASC(;
SUBSTR(lcMacAddr,lnLen,1)),"@0"),2)
RETURN lcMac
ENDFUNC