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:
Function Inc(Value As Variant, Optional Increment As Variant = 1) As Variant Value = Value + Increment Inc = ValueEnd FunctionFunction Dec(Value As Variant, Optional Decrement As Variant = 1) As Variant Value = Value - Decrement Dec = ValueEnd Function
The above routines declare the argument as Variant, so you can use them with any numeric data type, as in:
Dim x As Long, y As Single' increment a Long value by oneInc x' increment a floating point variable by 0.1Inc 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:
' 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 LongDo While N <= 100 ' increment N, square it, and add to the Sum variable Inc Sum, Inc(N) ^ 2Loop
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.