Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.visual.basic    |    MS Visual Basic discussions, NOT dot-net    |    10,840 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 10,410 of 10,840    |
|    Dean Earley to Antony Clements    |
|    Re: a problem with copymem API    |
|    15 Feb 07 10:41:17    |
      From: dean.earley@icode.co.uk              Antony Clements wrote:       > i modified the code after i posted this, it no longer throws up an error but       > it still doesn't work correctly.       >       > dim var1 var2 and var3 as long       >       > ReDim IVbytearray(0 To 7)       > ReDim IVbytearray2(0 To 7)              These are redundant as they are replaced in the next block.              > bytearray() = Mid(stream1, b, 8)       > bytearray2() = Mid(stream2, c, 8) 'a messagebox here proves that at this       > point, the data held in bytearray() is different than the data held in       > bytearray2()              This copies a UNICODE string into the byte array.       This will be 16 bytes, every other one being a null character.              If you want each character as an item in the array, then you want:       bytearray = StrConv(string, vbFromUnicode)              > var1 = bytearray()       > var2 = bytearray2() 'this is where the problem is as var2 returns the same       > value as var1 even though the value in bytearray() is different to the value       > in bytearray2().               From the code below, you can't join them up like this.       You will need to do the arithmetic manually (shifting and adding) or       copymemory from the byte array to a long.       Bear in mind that you can only fit 4 bytes in a long...              > Call CopyMemory(var1, var1 Xor var2, 8)       > Call CopyMemory(var1, var1 Xor var3, 8)              Be VERY careful as longs are still only 4 bytes.       you WILL be corrupting memory with this code.              > now here is the problem. even though the data source for bytearray() and       > bytearray2() are different, for some reason or other they both have the same       > value. var2 needs to be a value from the second data source. i hope this is       > a clear indication of what i am trying to do.              It still doesn't explain what you have and what results you want at the       end...              --       Dean Earley (dean.earley@icode.co.uk)       i-Catcher Development Team              iCode Systems              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca