UdpSend(A0, A1, A2, A3, Port, Size, Data[], Packed):
La funcion UdpSend() puede enviar el array Data[], donde cada elemento se envía como byte (es decir toma el valor de 0 a 255) si Packed es false.
Por ejemplo:
new Data[3]
new x=100
new y=200
new z=1000
Data[0] = x
Data[1] = y
Data[2] = z
UdpSend(192,168,1,15, 4980, 3, Data, false)
Las variables x e y se enviaran correctamente porque tiene un valor menor a 255, pero z se enviará truncada porque su valor es mayor a 255.
Pero si se usa la función UdpSend() con Packed es true, cada elemento del array Data[] se envía como 4 bytes, es decir con su valor total de 32-bits, permitiendo enviar números de hasta +/- 2,147,483,647.
new Data[3]
new x=100
new y=200
new z=1000
Data[0] = x
Data[1] = y
Data[2] = z
UdpSend(192,168,1,15, 4980, 3, Data, true)
El valor de la variable "z" se envía como 4 bytes, y el numero 1000 se representa perfectamente en la computadora.
Por lo tanto desde la PC es necesario interpretar los 4 bytes recibidos como un numero entero con signo para decodificar su correcto valor, esto lo haces desde el programa en Microsoft Visual C#.
Pero esto ultimo es para el caso de enviar numero mayores a 255.
Si necesitas enviar fecha, hora, etc... los números son menores a 255 y podes usar Packed=false.
Espero que se entienda.
Cualquier duda, quedo a disposición.