UNKNOWN '************************************** ' Name: Integer as Unsigned Integer ' Description:Use an integer as an unsig ' ned integer. ' By: Je. ' ' ' Inputs:None ' ' Returns:None ' 'Assumes:None ' 'Side Effects:None 'This code is copyrighted and has limite ' d warranties. 'Please see http://www.Planet-Source-Cod ' e.com/xq/ASP/txtCodeId.74553/lngWId.1/qx ' /vb/scripts/ShowCode.htm 'for details. '************************************** 'in a form Dim ii(0 To &HFFFF&) As Integer Private Sub Form_Load() Dim i As Long For i = 0 To &HFFFF& ii(i) = LtoU(i) Next Me.Caption = UtoL(ii(55961)) End Sub Function LtoU(ByVal l As Long) As Integer If (l And &H8000&) = &H8000& Then LtoU = (l Or &H8000) Else LtoU = l End Function Function UtoL(ByVal u As Integer) As Long UtoL = u And &HFFFF& End Function Function AU(u As Integer, Nadd As Integer) As Integer Dim ul As Long ul = UtoL(u) + UtoL(Nadd) If ul > &HFFFF& Then Error 6 'out of bounds AU = LtoU(ul) End Function Function SU(u As Integer, nSubtract As Integer) As Integer Dim ul As Long ul = UtoL(u) - UtoL(nSubtract) If ul < 0 Then Error 6 'out of bounds SU = LtoU(ul) End Function Function MU(u As Integer, nMultiply As Integer) As Integer Dim ul As Long ul = UtoL(u) * UtoL(nMultiply) If ul > &HFFFF& Then Error 6 'out of bounds MU = LtoU(ul) End Function Function DU(u As Integer, nDivide As Integer) As Integer Dim ul As Long ul = UtoL(u) \ UtoL(nDivide) If ul < 0 Then Error 6 'out of bounds DU = LtoU(ul) End Function Function UMod(u As Integer, nMod As Integer) As Integer Dim ul As Long ul = UtoL(u) Mod UtoL(nMod) UMod = LtoU(ul) End Function Function UPow(u As Integer, nPow As Integer) As Integer Dim ul As Long ul = UtoL(u) ^ UtoL(nPow) If ul > &HFFFF& Then Error 6 'out of bounds UPow = LtoU(ul) End Function Sub incU(u As Integer, NIncrement As Integer) Dim ul As Long ul = UtoL(u) + UtoL(NIncrement) If ul > &HFFFF& Then Error 6 'out of bounds u = LtoU(ul) End Sub