Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      Dim MyVar1 = uc.DefineVariable("MyVar1 = 123.456")
      Dim MyVar2 = uc.DefineVariable("MyVar2 = 654.321")
      Dim MyStr1 = uc.DefineVariable("MyStr1 = 'First string'")
      Dim MyStr2 = uc.DefineVariable("MyStr2 = 'Second string'")
      
      Console.WriteLine(uc.EvalStr("MyVar1"))
      Console.WriteLine(uc.EvalStr("MyVar2"))
      Console.WriteLine(uc.EvalStr("MyStr1"))
      Console.WriteLine(uc.EvalStr("MyStr2"))
      Console.WriteLine("---")
      
      uc.DataTypeOf("double").SwapScalarValues(MyVar1.ValueAddr(), MyVar2.ValueAddr())
      uc.DataTypeOf("string").SwapScalarValues(MyStr1.ValueAddr(), MyStr2.ValueAddr())
      
      Console.WriteLine(uc.EvalStr("MyVar1")) '// Values of MyVar1 and MyVar2 are now swapped
      Console.WriteLine(uc.EvalStr("MyVar2"))
      Console.WriteLine(uc.EvalStr("MyStr1")) '// Values of MyStr1 and MyStr2 are now swapped
      Console.WriteLine(uc.EvalStr("MyStr2"))
   End Sub
End Module