Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: VB4,VB5,VB6,VBS
Expertise: beginner
Jul 29, 2000



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
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
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