TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
 Specialized Dev Zones Research Center eBook Library .NET Java C++ Web Dev Architecture Database Security Open Source Enterprise Mobile Special Reports 10-Minute Solutions DevXtra Blogs Slideshow

Language: VB4,VB5,VB6,VBS
Expertise: beginner
Jul 29, 2000

### WEBINAR:On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning

# Simplify your code with Inc and Dec functions

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 = 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:
``````
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:
``````
' 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
Loop
``````
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.
John Nickle

 Submit a Tip Browse "XML" Tips Browse All Tips
Comment and Contribute

(Maximum characters: 1200). You have 1200 characters left.

Thanks for your registration, follow us on our social networks to keep up-to-date