• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1504
  • Last Modified:

Copying a binary buffer to a TIdBytes object

I am using Indy10 with C++ builder XE2 and I want to send a packet of binary data using a UDPServer control. I have a plain buffer of data to send in an array of unsigned chars.
Can someone explain how to move data from a plain character array to a TIdBytes object

The code is as follows :

unsigned char buff[566];
TIdBytes ABuffer;

SetupBuffer(buff) // data is prepared for sending (566 bytes)

// .....  some code needed to move the buffer into the TIdBytes buffer ??

// now send the data using UDP to a remote host listening on port 10036

IdUDPServer1->SendBuffer(remotehost,10036,ABuffer);

Thanks,

Roger
0
alcindor
Asked:
alcindor
  • 2
1 Solution
 
jkrCommented:
That could be

unsigned char buff[566];
TIdBytes ABuffer;

ABuffer.Length = 256;

for (int i = 0; i < 256; ++i)
  ABuffer[i] = buff[i];

Open in new window


But IMHO it might be easier to pass ABuffer to 'SetupBuffer()' instead.
0
 
alcindorAuthor Commented:
I have found the answer:

ABuffer.set_length(sizeof(buff));
ABuffer =  RawToBytes(buff, sizeof(buff));
0
 
alcindorAuthor Commented:
I found the solution myself
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now