How To Handle 'unsigned Char *msg' Par
Sep 17, 2010
I am trying to write a VB.NET program that will call a function in an unmanaged C DLL passing the structure like this:[code]What I have not been able to figure out is how to handle the "unsigned char *msg" part. How would you define this in the VB.NET Structure?
View 2 Replies
ADVERTISEMENT
Oct 28, 2009
I'm making a "wrapper" for an unmanaged DLL (written, I'm fairly certain in C). I have a c++ "wrapper" that I'm trying to convert to VB.net. I've got most of the program working, but I've hit a brick wall.
I'm trying to convert the following two structures from their c++ versions to their vb.net versions. I cannot be sure which is the problem because both must be passed at the same time. The error I am getting is thrown by the object and indicates "Invalid structure size specified". I can cause this error on other objects when I either don't set the dwSize variable, leave off a parameter or change the parameter type incorrectly. Note that the dwSize parameter is supposed to contain the size of each structure. I'm successfully calculating that for my other structures and I'm using the same method on these and the results appear correct, so I do not believe the problem is found there. The object uses a lot of structures and the rest of them are working. These two are the only ones with a) an unsigned character pointer b) an unsigned long array and c) doubles.
C++ versions:
CODE:
I don't think I'm missing any parameters - the help file seems to agree with me on this, but it's theoretically possible that there is something missing (though I don't think so for other reasons as well). My suspicion is that it's dwPalette, pImageData or pMaskData with (in my uninformed opinion) more suspicion on the pImageData and pMaskData.
View 7 Replies
Mar 24, 2010
how can i, for example add a datum from the rs232 with other variable here is my code:
Dim ii As Byte
Dim c(100) As Char
c = Me.SerialPort1.ReadExisting()
[Code]....
View 19 Replies
Jan 28, 2009
I am a new VB programmer and am using TextBox in VB2008. Here are the problems I experienced in TextBox -
1, After I typed number in TextBox and found I need to type another number. So I used backspace key to remove it. But at this time program quit and displayed this problem: InvalidCastException was unhandled. How to solve this issue?
2, Can anybody tell me how to set number of characters are allowed to be typed in TextBox?
3, Can anybody tell me how to implement the feature that only numbers are allowed to be typed? In case letters are typed, how to tell user to re-type?
View 5 Replies
Dec 16, 2008
i want to read a character 1 by 1 from a string and a .txt, i know all about stream reader so for the .txt would it be somthing like:textbox1.text = tr.readCharacter.i would prefer to be able to read from a textbox or String array though.
View 10 Replies
Mar 30, 2012
I need validation for string to comply with next: no space char starts with one delimiter char ends with one delimiter char has no other char as delimiter char. Updated sorry missed that should only be one delimiter char at start and at the end
View 2 Replies
Sep 30, 2010
Public Shared Function UrlTokenDecode(ByVal input As String) As Byte()
If (input Is Nothing) Then
Throw New ArgumentNullException("input")[code].....
View 3 Replies
May 19, 2009
i am trying to increment a char in vb.net, eg: Dim letter As Char = "a"c. and i want to make it b, and so on. how can i do this?
View 1 Replies
Mar 22, 2012
I have split a string into a char array, now i need to copy the char array to an int array with the ASCII values of each char.Donīt know how to do it without looping each value.
This is my code:
origen = RichTextBox1.Text.ToString
Dim valor As Char() = origen.ToCharArray
Dim numeros As Integer() = (How can i convert "valor" to an int array?????)
View 10 Replies
Sep 29, 2011
i want to use an unsigned 32 bit integer. According to [URL]the rage of that type is
UInteger
UInt32
4 bytes
0 through 4,294,967,295 (unsigned)
[code].....
View 7 Replies
Apr 17, 2010
Why does this not work ?
[code...]
I get "tostring cant be called without a narrowing conversion"
View 4 Replies
Nov 7, 2010
I am trying to create a UInt128 structure, based on some C code I found. The 128 bit number is stored as two UInt64's. All was going well until:1. I tried to define MaxValue and MinValue. The code I found was
[code]...
View 2 Replies
Nov 7, 2010
I am trying to create a UInt128 structure, based on some C code I found. The 128 bit number is stored as two UInt64's. All was going well until:
1.I tried to define MaxValue and MinValue.[code]
2. I tried to add. Apparently in C if you do the equivalent of this:[code]you do not get an overflow, the result "wraps".
View 4 Replies
Jun 5, 2009
i have found [char] specified in some of the examples at msdn , what is the difference between char and [char]
View 2 Replies
Jun 23, 2009
I'm working with byte arrays and building and disassembling Int16/UInt16 and Int32/UInt32 from them. I'd like to not worry about the Sign bit until I return the final value and just have the code return the appropriate value for the data type that was requested to be converted to/from the byte array
View 3 Replies
Jul 16, 2010
I'm new to VB.Net. I'm using a library call setInstance(ByVal instance As UInteger) in my VB.Net code. The parameter I need to pass is an Integer. Is there anything I need to do to convert the integer parameter to an unsigned integer? The number is garunteed to be positive and less than 10.
View 3 Replies
Jul 19, 2011
I'm trying to generate random dates in between two dates that are selected with a date and time selection control.Ideally, I would like to get the 'ticks' of each date, generate a random number between those, and then convert that back into a date.However I'm getting arithmetic overflow errors when I try to generate a random number from the between the ticks. I've tried many approaches - directly seeding with both the low and high date ticks, as well as subtracting.
Private Function randomDate() As ULong
Dim rand As New Random(Date.Now.Ticks Mod Integer.MaxValue)
Dim holder As ULong = DateTimePicker2.Value.Ticks - DateTimePicker1.Value.Ticks
[code].....
View 8 Replies
Jun 24, 2011
How can I implement a two's complement in VB.NET using unsigned integer types such as Byte, UShort, UInteger and ULong? Can I cast a UInteger to an Integer?
View 1 Replies
Nov 7, 2010
In VB .Net this code:
Dim t As UInt64
t = UInt64.MaxValue
t += 2UL
causes an overflow. It is my understanding that in C it "wraps". Assuming that is true, is there a way to mimic this in VB? I need this for an implementation of UInt128 I am trying to write.
View 2 Replies
Jul 25, 2011
I have an application that deals with some rather large number values. I wanted the values to allow a roll over so I compiled the program with Remove Integer Overflow Checks turned on. The 32 bit numbers roll over just fine but the 64 bit unsigned integers still throw an over flow exception. Is this a bug in the compiler?
View 7 Replies
Jun 9, 2010
I need to parse a binary stream in .NET to convert a 16 byte unsigned integer. I would like to use the BinaryReader.ReadUIntXX() functions but there isn't a BinaryReader.ReadUInt128() function available. I assume I will have to roll my own function using the ReadByte function and build an array but I don't know if this is the most efficient method?
View 3 Replies
Dec 23, 2010
How do I pull off an unsigned left shift in VB.Net while using Option Strict? Maybe I am doing it wrong, but while trying to implement my own IP2Long function (I have my reasons), I'm testing things to make sure I have my head wrapped around the conversion process properly. Tried a few tests, all seem to cause errors.
Dim a As Int32
a = CUint(172 << 24) 'Constant expression not representable in type 'UInteger'
a = DirectCast((172 << 24), UInt32) 'Value of type 'Integer' cannot be converted to 'UInteger'
a = Convert.ToUInt32(172 << 24) 'Compiles, but throws an OverflowException
The last one is especially befuddling. 172 << 24 is a mere 2,885,681,152, well under the limit imposed by the UInt32 data type. My assumption is .NET is doing the left-shift in signed mode, then tries to convert, to unsigned, and this tosses up some kind of error. Basically, my question boils down to this: why do unsigned numeric have to act like such hacks to the .NET framework at times? Is it really that hard for Microsoft to make Unsigned data types intrinsic to the framework?
View 1 Replies
May 23, 2011
I need to read signed and unsigned 8 bit, 16 bit and 32 bit values from a file stream which may be little-endian or big-endian (it happens to be a tiff file which carries the byte order indicator at the start).I initially started by writing my own functions to read the values and was able to do so for unsigned values. e.g.
Public Function ReadUInt32() As UInt32
Dim b(4) As Byte
input.Read(b, 0, 4)
[code]....
But then I started looking at signed values and my brain broke.As an alternative, I found the IO.BinaryReader which will let me read signed values directly but doesn't seem to have any way to indicate that the data is big-endian or little-endian.Is there a nice way of handling this? Failing that, can someone tell me how to convert multiple bytes into signed values (in both byte orders)?
View 2 Replies
Feb 22, 2012
I have been trying to compute the checksum for a line of hex code. This is to create a hex file which will be loaded onto an embedded micro.Some of you guys may not know how this is done so very briefly:
a line of hex bytes:
: 10 01 00 00 21 46 01 36 01 21 47 01 36 00 7E FE 09 D2 19 01 40
The underlined bytes are taken and summed. (in this case the decimal 960). and the bold is the checksum Only the 8LSB (or single least significant byte) is needed to compute the checksum... which in this case, 960 = 03C0 in hex, so only C0 is needed.Two's complement is then taken:
step 1) logical not of C0 which is
step 2) add one (integer)
BIN...........DEC...HEX
[code]....
So here is the code I have been using: (quick mention that in the string passed, the hex bytes are all grouped together, there are no space characters)
Public Sub CreateLine(ByVal Data As String)
'Dim BDataArray(DataLength) As Byte
Dim IDataArray(Data.Length) As Integer
[code]....
where i get into trouble is where i commented 'i get into trouble'. My code works, but it's rather crude Now, in that line i first convert the hex value (string) "SChecksum" into an integer. I want to NOT this, so I get my step 2 from my explanation. However, the results appears to be a signed logical NOT. which gives me the wrong answer. My hashed togther version simply subtracts 256 before the not, in order to give me the correct answer.
Basically, I would love for someone to chime in and point out the flaws in my function, and push me towards figuring out the 'proper' way of doing this. Also I can't quite wrap my head around what would happen in the case a string were passed to my function that is over 16 bits, but I imagine I would have to subtract a larger value than 256, before doing the NOT in this case?(whilst we're on the subject of functions, I've used a 'sub', in which case should I used a sub, and which case should I use a function?).
View 4 Replies
Apr 19, 2011
I'm creating an emulator for a device to simulate wave forms. My challenge is that when I try to convert the output of the following code, I can't convert the Math.Sin's double output into byte values that lend themselves to the byte array format required by an existing graphing control as listed at bottom below. I''m not sure how to handle this when the sin function creates negative values but the byte values will need to be positive and basically 'shifted up' so that anything over 127 is negative. (0 - 255) unsigned. BitConverter.GetBytes has been suggested but THIS is the result of that attempt.
[Code]....
View 2 Replies
Mar 23, 2009
I wrote an application to handle a joystick with directinput. It works fine if it uses the handle of the main window but it doesnt happen the same if the handle is the one of the component that contains the joystick's operation.
I mean:
main form handle: 15
component handle (which is inside the window and the joystick needs the focus of this component to work): 25
It always work if the handle i initilizate the device is the main form (15).How can i use only the handle of the component?
View 1 Replies
Aug 13, 2009
I am working on a UDP Client/Server, and currently i have them sending back and forth strings, which i convert to bytes, and then open the bytes to read. I want to now send an Object instead of those strings, which includes multiple unsigned integers and strings.
View 39 Replies
May 6, 2007
I would like to know how to convert a unisgned byte to signed byte
Atm I got this
a
Function readSignedByte() As SByte
'-128/127
Dim b As SByte
[Code]....
it doesn't work one that well works for numbers positive over 127 if lets say ReadByte() has 128 it would give overflow error which I don't want it to give I would like it to overflow the number to negivate value aka its signed value.
View 5 Replies
Dec 12, 2010
I have a textbox with value in it like: "577457747037375770" and so on, i want to XOR each value of them with "0x1b" how can i do that ?Like "0x1b" XOR 57 ; "0x1b" XOR 74 ; "0x1b" XOR 87 and so on for all value in textbox.I don't want to check if the value in the textbox is in the good format, i want just XOR them all.
View 2 Replies
Jul 14, 2011
I have a DLL that I am importing:Declare Function QueryInfo Lib "mydllname" (ByVal DevName As String, ByVal pcQueryParam As String, ByVal Result As String, ByVal Length As Int32) As Int32
[Code]...
Anyone have an idea what the issue could be? If I run similar code in VB6 (only diff is mtStatus = String(mtValueSize, Chr$(0)) ) it returns what I expect.
View 7 Replies