Visual Basic Family Compared to ViviFire

ViviFire has many of the same features as Visual Basic and VB.NET. This appendix tries to show what is different.

Equivalent features

FeatureSharedDifferent
Arithmetic operators +, -, *, /, Mod, ^ Does not have \
Assignment operators &=, +=, -=, *=, /= Does not have \= and ^=. <<=SHL=, >>=SHR=
Call Almost the same
Comparison Operators Almost the same
Const Almost the same
Do…Loop Almost the same
Exit Almost the same Does not have Exit Select.
For Almost the same NextEnd For
If…Then…Else Almost the same ElseIfElse If
Logical and bitwise operators And, Or, Xor AndAlsoAnd Then, OrElseOr Else
ReDim Almost the same Does not have Preserve.
Return Almost the same
Select…Case Almost the same Is is not optional.
Throw Almost the same Does not use New.
Try…Catch…Finally Almost the same Does not have Catch…When
While Almost the same WendEnd While

Easy translations

The table that follows shows elements of VB that have a different name in ViviFire.

In VBIn ViviFire
<< and >> SHL and SHR
AddressOf Sub
Inherits Is (Class)
Is and IsNot Is
Me and MyBase #Self and #Base
MustInherit and MustOverride @Abstract
Overridable and Overrides @Open and @Override
RaiseEvent Call Event
ReadOnly and WriteOnly @ReadOnly and @WriteOnly (Property)
Shared and Static @Shared

Data types

In VBIn ViviFireIn VBIn ViviFire
BooleanBooleanStringString
SByteInt8ByteUInt8
ShortInt16UShortUInt16
IntegerInt32UIntegerUInt32
LongInt64ULongUInt64
DateDateTimeDecimalFixed128
SingleReal32DoubleReal64

ViviFire also has Int, UInt, Int128, UInt128, Fixed64, Real, and Real128.

Features almost the same

In VBIn ViviFire
DelegateEvent
HandlesHandles (Sub)
If()Conditional Operator
Implements (Class)Does (Class)
InterfaceTrait
ModuleProgram and Library
New (operator)New (statement)
Nothing#Null
StructureStruct
TypeOf…IsIs

Features not available