Language - Visual Basic: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<metadesc>Communicate over USB with sensors, controllers and relays with Phidgets! Our Visual Basic .NET library supports Windows using Visual Studio or Mono.</metadesc>
{{#seo:|description=Learn how to use Phidget USB devices with Visual Basic.}}
[[Category:Language]]
[[Category:Language]]
__NOTOC__
We provide support for the Visual Basic .NET language on the Windows operating system. We also provide instructions on how to get your project started in a number of common development environments. Select your operating system and preferred development environment below, and follow the instructions to get your project running with Phidgets.


If you do not know which development environment you want to use, or your development environment of choice is not listed, we recommend starting with Mono as the simplest path to getting your code running. Visual Studio is the most popular way to build Visual Basic .NET projects, but it also has a steep learning curve.
==Get Started==
With the Phidget22.NET library, it's easy to create VB applications that work with Phidget devices.


Once you have set up your development environment to run with Phidgets, we recommend you follow our guide on [[Phidget Programming Basics]]. The guide will showcase the fundamentals of programming with Phidgets.
==VB Libraries==
===Nuget Package===
The Phidget22.NET library is available as a [https://www.nuget.org/packages/Phidget22.NET/ nuget package]. This is the recommend way to install and manage the Phidget22.NET library.


== Setup Guide ==
===Library Files===
If you would like to manually manage the Phidget22.NET library files, you can download them [https://cdn.phidgets.com/downloads/phidget22/libraries/windows/Phidget22-windevel.zip here].


<div class="phd-deck-sequence">
==Development Environment Configuration==
{{PT3_JS_CHOOSE}}{{PT3_JS_ANY_BROWSER}}{{PT3_JS_ANY_NODE}}
===Visual Studio===
</div>
{| style="margin:auto;" class="table-no-border mw-collapsible mw-collapsed"
|+ '''Instructions'''
| {{hiddenh4|Start with the Code Samples}} ||
|-
| One of the best ways to start programming with Phidgets is to use our [https://www.phidgets.com/?view=code_samples&lang=VBNET example code] as a guide. Download the example(s) that correspond to your Phidget's channel classes. You can find them listed on the enclosure in most cases, or on the API tab of the product page. || [[Image:Language_vb_sample.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/4/42/Language_vb_sample.jpg]]
|-
| Unpack and open the example project and click the Start button. The application will open the Phidget, list basic information about the Phidget, and demonstrate the Phidget's functionality.  || [[Image:Language_vb_start.png|center|350px|link=https://cdn.phidgets.com/docs/images/b/ba/Language_vb_start.png]]
|-
| {{hiddenh4|Editing the Examples}} ||
|-
| The Visual Basic .Net examples are derived from the Windows [[Phidget Control Panel]], so you'll need to modify a few things to adapt them for your own purposes. To begin with, you can remove the following line: ||
|-
|colspan="2"| <syntaxhighlight lang=vbnet>commandLineData phidgetParameters = open.parseCmdLine(); //get command line parameters</syntaxhighlight> ||
|-
|colspan="2"| Then, you can modify any line that mentions phidgetParameters by setting it to the desired value instead of using PhidgetParameters object. ||
|-
|colspan="2"| For instance:<syntaxhighlight lang=vbnet>Try 'set all the values grabbed from command line.  these values have defaults that are set in ExampleUtils.vb, you can check there to see them
    device.Channel = phidgetParameters.Channel 'selects the channel on the device to open
    device.DeviceSerialNumber = phidgetParameters.SerialNumber 'selects the device or hub to open
    device.HubPort = phidgetParameters.HubPort 'selects th eport on the hub to open
    device.IsHubPortDevice = phidgetParameters.isHubPortDevice 'is the device a port on a vint hub?


== Quick Downloads ==
    If phidgetParameters.isRemote Then 'are we trying to open a remote device?
If you already know what you're doing and just need the files, you can find them all below.
        device.IsRemote = True
        Net.EnableServerDiscovery(ServerType.Device) 'turn on network scan
        If phidgetParameters.Password <> vbNullString And
          phidgetParameters.ServerName <> vbNullString Then
         
            Net.SetServerPassword(phidgetParameters.ServerName, phidgetParameters.Password)
        End If
    Else
        device.IsLocal = True
    End If


=== Documentation ===
    device.Open() 'open the device specified by the above parameters
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try</syntaxhighlight>
|-
|colspan="2"|  Might become: <syntaxhighlight lang=vbnet> Try
    device.Channel = 0
    device.DeviceSerialNumber = 370097
    device.HubPort = 0
    device.IsHubPortDevice = True
    device.IsLocal = True


*{{Phidget22API}} (Select Visual Basic .NET from drop-down menu)
    device.Open()
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try</syntaxhighlight> You can then manipulate the rest of the code as your application requires.
|-
| {{hiddenh4|Setting up a New Project}} ||
|-
| When you are building a project from scratch, or adding Phidget functionality to an existing project, you'll need to configure your development environment to properly link the Phidget .NET library. Create a new VB Forms Application, open the NuGet package manager. || [[Image:Language_vb_nuget.png|center|350px|link=https://cdn.phidgets.com/docs/images/4/4e/Language_vb_nuget.png]]
|-
| On the following screen, click '''Browse''', search for Phidget22, and install the Phidget22.NET package. || [[Image:Language_vb_nuget_install.png|center|350px|link=https://cdn.phidgets.com/docs/images/7/74/Language_vb_nuget_install.png]]
|-
|colspan="2"| Then, you just need to add the following lines: <syntaxhighlight lang=vbnet>Imports Phidget22
Imports Phidget22.Events</syntaxhighlight> The project now has access to Phidgets.
|}


=== Example Code ===
===Mono===
{| style="margin:auto;" class="table-no-border mw-collapsible mw-collapsed"
|+ '''Instructions'''
| {{hiddenh4|HelloWorld Example}} ||
|-
|colspan="2"|First, download and unpack the [https://www.phidgets.com/downloads/phidget22/examples/dotnet/csharp/Manager/Phidget22_HelloWorld_CSharp_Windows_Ex.zip HelloWorld example] for VB. This example uses the [[Phidget Manager]] to list all Phidget channels that can be accessed by your computer. All other VB examples use Windows Forms, so they are not compatible with Mono.
|-
|Next, copy Phidget22.NET.dll from type the following location:<syntaxhighlight>C:\Program Files\Phidgets\Phidget22\Phidget22.NET.dll</syntaxhighlight>Place both the HelloWorld example and the Phidget22.NET.dll file in the same location. || [[Image:Language_vb_dll_folder.png|center|350px|link=https://cdn.phidgets.com/docs/images/8/89/Language_vb_dll_folder.png]]
|-
|colspan="2"|Open the command prompt at the folder location and enter the following command:<syntaxhighlight>vbnc /r:Phidget22.NET.dll Module1.vb</syntaxhighlight>This will create an executable file called Module1.exe. Type in the following command to run the example:<syntaxhighlight>mono Module1.exe</syntaxhighlight>
|-
|You should be able to see the channels of your Phidget listed when the program starts or whenever the Phidget is plugged in while the program is running.<br/><br/>Now that you've confirmed that your devices are properly connected, the next step is to download and edit sample code for your specific device.  || [[Image:Language_vb_console.png|center|350px|link=https://cdn.phidgets.com/docs/images/5/5e/Language_vb_console.png]]
|-
| {{hiddenh4|Other Examples}} ||
|-
| To download the code samples, visit [https://www.phidgets.com/?view=code_samples&lang=VBNET this page].  Download the example(s) that correspond to your Phidget's channel classes. You can find them listed on the enclosure in most cases, or on the API tab of the product page. || [[Image:Language_vb_sample.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/4/42/Language_vb_sample.jpg]]
|-
|colspan="2"|The Visual Basic examples are derived from the Windows Phidget Control Panel, so you'll need to modify a few things to adapt them for your own purposes. To begin with, you can remove the following line:
<syntaxhighlight lang=vbnet>commandLineData phidgetParameters = open.parseCmdLine(); //get command line parameters</syntaxhighlight>Then, you can modify any line that mentions '''phidgetParameters''' by setting it to the desired value instead of using PhidgetParameters object.
|-
|colspan="2"| For instance:<syntaxhighlight lang=vbnet>Try 'set all the values grabbed from command line.  these values have defaults that are set in ExampleUtils.vb, you can check there to see them
    device.Channel = phidgetParameters.Channel 'selects the channel on the device to open
    device.DeviceSerialNumber = phidgetParameters.SerialNumber 'selects the device or hub to open
    device.HubPort = phidgetParameters.HubPort 'selects th eport on the hub to open
    device.IsHubPortDevice = phidgetParameters.isHubPortDevice 'is the device a port on a vint hub?


*{{SampleCode|VBNET|Visual Basic .NET Examples}}
    If phidgetParameters.isRemote Then 'are we trying to open a remote device?
        device.IsRemote = True
        Net.EnableServerDiscovery(ServerType.Device) 'turn on network scan
        If phidgetParameters.Password <> vbNullString And
          phidgetParameters.ServerName <> vbNullString Then
         
            Net.SetServerPassword(phidgetParameters.ServerName, phidgetParameters.Password)
        End If
    Else
        device.IsLocal = True
    End If


===Libraries===
    device.Open() 'open the device specified by the above parameters
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try</syntaxhighlight>
|-
|colspan="2"|  Might become: <syntaxhighlight lang=vbnet> Try
    device.Channel = 0
    device.DeviceSerialNumber = 370097
    device.HubPort = 0
    device.IsHubPortDevice = True
    device.IsLocal = True


{{AllQuickDownloads}}
    device.Open()
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try</syntaxhighlight> You can then manipulate the rest of the code as your application requires.
|-
| {{hiddenh4|Setting up a New Project}} ||
|-
|colspan="2"| To start a project from scratch, or add Phidget functionality to an existing project, you'll need to include the Phidget .NET library by adding the following lines to your code:<syntaxhighlight lang=vbnet>Imports Phidget22
Imports Phidget22.Events</syntaxhighlight>
|-
| Next, copy Phidget22.NET.dll from the following location:<syntaxhighlight>C:\Program Files\Phidgets\Phidget22\Phidget22.NET.dll</syntaxhighlight> Place your program and the Phidget22.NET.dll file in the same location. || [[Image:Language_vb_dll_folder.png|center|350px|link=https://cdn.phidgets.com/docs/images/8/89/Language_vb_dll_folder.png]]
|-
| Open the command prompt at the folder location and enter the following command:<syntaxhighlight>vbnc /r:Phidget22.NET.dll Module1.vb</syntaxhighlight>This will create an executable file called '''Module1.exe'''. Type in the following command to run the example:<syntaxhighlight>mono Module1.exe</syntaxhighlight>The project now has access to Phidgets.
|}
 
==Example Code==
Navigate to our [https://www.phidgets.com/?view=code_samples&lang=VBNET Code Samples Page] to view and download code samples that are tailored to your specific device. These code samples all use Windows Forms, except for the "Hello World" manager example.
 
===Phidget Programming Basics===
{{PhidgetProgrammingBasicsLink}}
 
==API==
[{{SERVER}}/?view=api&lang=CSharp Phidget22 API]

Latest revision as of 21:25, 13 March 2026


Get Started

With the Phidget22.NET library, it's easy to create VB applications that work with Phidget devices.

VB Libraries

Nuget Package

The Phidget22.NET library is available as a nuget package. This is the recommend way to install and manage the Phidget22.NET library.

Library Files

If you would like to manually manage the Phidget22.NET library files, you can download them here.

Development Environment Configuration

Visual Studio

Instructions
Start with the Code Samples
One of the best ways to start programming with Phidgets is to use our example code as a guide. Download the example(s) that correspond to your Phidget's channel classes. You can find them listed on the enclosure in most cases, or on the API tab of the product page.
Language vb sample.jpg
Unpack and open the example project and click the Start button. The application will open the Phidget, list basic information about the Phidget, and demonstrate the Phidget's functionality.
Language vb start.png
Editing the Examples
The Visual Basic .Net examples are derived from the Windows Phidget Control Panel, so you'll need to modify a few things to adapt them for your own purposes. To begin with, you can remove the following line:
commandLineData phidgetParameters = open.parseCmdLine(); //get command line parameters
Then, you can modify any line that mentions phidgetParameters by setting it to the desired value instead of using PhidgetParameters object.
For instance:
Try 'set all the values grabbed from command line.  these values have defaults that are set in ExampleUtils.vb, you can check there to see them
    device.Channel = phidgetParameters.Channel 'selects the channel on the device to open
    device.DeviceSerialNumber = phidgetParameters.SerialNumber 'selects the device or hub to open
    device.HubPort = phidgetParameters.HubPort 'selects th eport on the hub to open
    device.IsHubPortDevice = phidgetParameters.isHubPortDevice 'is the device a port on a vint hub?

    If phidgetParameters.isRemote Then 'are we trying to open a remote device?
        device.IsRemote = True
        Net.EnableServerDiscovery(ServerType.Device) 'turn on network scan
        If phidgetParameters.Password <> vbNullString And 
           phidgetParameters.ServerName <> vbNullString Then
           
            Net.SetServerPassword(phidgetParameters.ServerName, phidgetParameters.Password)
        End If
    Else
        device.IsLocal = True
    End If

    device.Open() 'open the device specified by the above parameters
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try
Might become:
 Try
    device.Channel = 0
    device.DeviceSerialNumber = 370097
    device.HubPort = 0
    device.IsHubPortDevice = True
    device.IsLocal = True

    device.Open()
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try
You can then manipulate the rest of the code as your application requires.
Setting up a New Project
When you are building a project from scratch, or adding Phidget functionality to an existing project, you'll need to configure your development environment to properly link the Phidget .NET library. Create a new VB Forms Application, open the NuGet package manager.
Language vb nuget.png
On the following screen, click Browse, search for Phidget22, and install the Phidget22.NET package.
Language vb nuget install.png
Then, you just need to add the following lines:
Imports Phidget22
Imports Phidget22.Events
The project now has access to Phidgets.

Mono

Instructions
HelloWorld Example
First, download and unpack the HelloWorld example for VB. This example uses the Phidget Manager to list all Phidget channels that can be accessed by your computer. All other VB examples use Windows Forms, so they are not compatible with Mono.
Next, copy Phidget22.NET.dll from type the following location:
C:\Program Files\Phidgets\Phidget22\Phidget22.NET.dll
Place both the HelloWorld example and the Phidget22.NET.dll file in the same location.
Language vb dll folder.png
Open the command prompt at the folder location and enter the following command:
vbnc /r:Phidget22.NET.dll Module1.vb
This will create an executable file called Module1.exe. Type in the following command to run the example:
mono Module1.exe
You should be able to see the channels of your Phidget listed when the program starts or whenever the Phidget is plugged in while the program is running.

Now that you've confirmed that your devices are properly connected, the next step is to download and edit sample code for your specific device.
Language vb console.png
Other Examples
To download the code samples, visit this page. Download the example(s) that correspond to your Phidget's channel classes. You can find them listed on the enclosure in most cases, or on the API tab of the product page.
Language vb sample.jpg
The Visual Basic examples are derived from the Windows Phidget Control Panel, so you'll need to modify a few things to adapt them for your own purposes. To begin with, you can remove the following line:
commandLineData phidgetParameters = open.parseCmdLine(); //get command line parameters
Then, you can modify any line that mentions phidgetParameters by setting it to the desired value instead of using PhidgetParameters object.
For instance:
Try 'set all the values grabbed from command line.  these values have defaults that are set in ExampleUtils.vb, you can check there to see them
    device.Channel = phidgetParameters.Channel 'selects the channel on the device to open
    device.DeviceSerialNumber = phidgetParameters.SerialNumber 'selects the device or hub to open
    device.HubPort = phidgetParameters.HubPort 'selects th eport on the hub to open
    device.IsHubPortDevice = phidgetParameters.isHubPortDevice 'is the device a port on a vint hub?

    If phidgetParameters.isRemote Then 'are we trying to open a remote device?
        device.IsRemote = True
        Net.EnableServerDiscovery(ServerType.Device) 'turn on network scan
        If phidgetParameters.Password <> vbNullString And 
           phidgetParameters.ServerName <> vbNullString Then
           
            Net.SetServerPassword(phidgetParameters.ServerName, phidgetParameters.Password)
        End If
    Else
        device.IsLocal = True
    End If

    device.Open() 'open the device specified by the above parameters
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try
Might become:
 Try
    device.Channel = 0
    device.DeviceSerialNumber = 370097
    device.HubPort = 0
    device.IsHubPortDevice = True
    device.IsLocal = True

    device.Open()
Catch ex As PhidgetException
    errorBox.addMessage("Error opening the device: " + ex.Message)
End Try
You can then manipulate the rest of the code as your application requires.
Setting up a New Project
To start a project from scratch, or add Phidget functionality to an existing project, you'll need to include the Phidget .NET library by adding the following lines to your code:
Imports Phidget22
Imports Phidget22.Events
Next, copy Phidget22.NET.dll from the following location:
C:\Program Files\Phidgets\Phidget22\Phidget22.NET.dll
Place your program and the Phidget22.NET.dll file in the same location.
Language vb dll folder.png
Open the command prompt at the folder location and enter the following command:
vbnc /r:Phidget22.NET.dll Module1.vb
This will create an executable file called Module1.exe. Type in the following command to run the example:
mono Module1.exe
The project now has access to Phidgets.

Example Code

Navigate to our Code Samples Page to view and download code samples that are tailored to your specific device. These code samples all use Windows Forms, except for the "Hello World" manager example.

Phidget Programming Basics

To learn more about the structure of the example code, visit our Phidget Programming Basics guide.

API

Phidget22 API