If the data is transmitted in the "network" order (first the first high byte first), and not in the "Intel" order (low first byte first), you can make several bytes yourself.
uses SysUtils; var b: B02; w: word;
Mghie suggested the following approach in the comments (and I agree with him):
uses Winsock; var w: word; socket.ReadBuffer(w, 2); w := ntohs(w);
source share