I've had some trouble posting to the various GAMBAS mailing lists in the past and so have been using the Nabble forum, which generally has echoed my posted to the proper mailing list. It seems to not have been working so well recently though. As such I'm reposting my last post directly to the mailing list and hopefully it will be delivered. Here's the original thread for reference:
http://old.nabble.com/someshort%3D%22xy%22-returns-%22Wanted-short,-got-string-instead%22-td29715645.html#a29732625 And here's my post: Benoît Minisini wrote: > > I can only think of two solutions here. One is to find a way to convert a > > two-character string to a short as quickly as possible (the subject of > > the post), and the other is to change the way I'm collecting the data to I have neve seen that mail, Kevin. Did it go to the mailing-list? If I resume, you want to send the contents of an array of short on a UDP socket, and get it back on the other end of the socket? I generally post through the Nabble forum, as direct mailing list emails have been placed in a queue that never gets processed. I'll leave that to a later date to solve. Basically I'm sending mixed datatypes as a single UDP packet. There may be 1024 Bytes followed by 512 Shorts, etc., in a known sequence that can be interpreted by the client. When the client interprets the data in the received UDP packet it needs to assign different pieces of it to variables of varying datatypes. The string is constructed on one side then deconstructed on the other. There may be something fundamental that I'm missing (no surprise), but the packet data is being received as a String and as such I must convert segments of that string to the corresponding datatypes. I'm currently trying to write a function to convert a four-byte segment of the string to a Single, and have a conversion module for all the other datatypes that could be encoded in the UDP string. My current conversion function for Shorts is similar to Tobi's suggestion: PUBLIC FUNCTION ToShort(source AS String) AS Short ' Convert a two-byte string to a short datatype value. RETURN Asc(Mid$(source, 2, 1)) * 256 + Asc(Mid$(source, 1, 1)) END This works well, but I need similar functions for most common datatypes (Integer, Long, Single, Float). Is this possible, or am I making a fundamental programming mistake and there is an easier way? The app in question will push the limits of typical upstream bandwidth so I need to keep the packet size/frequency as low as possible. Most network transactions will not consist of arrays, but a few values that must be sent as raw data rather than numerical text strings. -- Kevin Fishburne Eight Virtues www: http://sales.eightvirtues.com e-mail: sa...@eightvirtues.com phone: (770) 853-6271 ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user