Atlanta Custom Software Development 

   Search        Code/Page

User Login



Forgot the Password?
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
» Regular Expr Tester
» Free Tools

Simplify your code with Inc and Dec functions

Total Hit ( 2768)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article



Unlike other languages - such as C and Delphi - VB lacks of the capability to increment and decrement a variable. Adding this feature, in the form of reusable Function routines, is simple:

Click here to copy the following block
Function Inc(Value As Variant, Optional Increment As Variant = 1) As Variant
  Value = Value + Increment
  Inc = Value
End Function

Function Dec(Value As Variant, Optional Decrement As Variant = 1) As Variant
  Value = Value - Decrement
  Dec = Value
End Function

The above routines declare the argument as Variant, so you can use them with any numeric data type, as in:

Click here to copy the following block
Dim x As Long, y As Single
' increment a Long value by one
Inc x
' increment a floating point variable by 0.1
Inc y, 0.1

You may argue whether using the Inc/Dec routines is going to make your code more or less readable. However, these functions prove to be more useful when they appear inside expressions:

Click here to copy the following block
' evaluate the sum of the squares of the first 100 integer numbers

' (of course, you can do this also with a For-Next loop,
' but this is only an example)

Dim N As Long, Sum As Long

Do While N <= 100
  ' increment N, square it, and add to the Sum variable
  Inc Sum, Inc(N) ^ 2

A final note: the Inc/Dec routines are slow, at least compared with inline addition and subtraction operations. For this reason you should never use them inside time-critical loops.

Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with, SQL Server and other MS technologies. He is, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )

Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.