• Home
  • Blog/Personal
  • DesktopShots
  • FreeDOS
  • GEM
  • OSPlus
  • Transport Tycoon
  • Utility Base
  • Visual Basic
logo

Visual Basic

  • Home Page
  • Common Controls
  • 3D Controls
  • BIOS Object
  • Unzip Control

Using the BIOS Object

Information in this topic can be used with any program that supports using 32-bit OLE servers, such as Visual Basic 4 and higher, and VBScript.

DownloadDownload the BIOS Object (6.68KB - requires VB4 32-bit runtime)
DownloadDownload the BIOS sample project (5.03KB)
DownloadDownload the BIOS Cabinet (6.95KB)

In the December 1999 issue of Computer Shopper, Mike James' Program Control column described creating an object with a similar interface to the old BASIC interface. I have adopted his idea and created the BIOS object, where BIOS stands for BASIC Input/Output System. This article describes how to use my BIOS object.

Please note that the BIOS object hasn't been updated since, well, 1999. One day soon, I may build a new version of it in VB6, fixing a few bugs and adding a few new features.

Creating the BIOS Object

Creating an instance of the BIOS object is simple. Simply use the CreateObject function under Visual Basic, as follows:

Dim objBIOS As Object

Private Sub Command1_Click()
[]Set objBIOS = CreateObject("ScriptUtil.BIOS")
[]objBIOS.Init
End Sub

You need the Init method to display the BIOS window, because I had a couple of problems with loads of copies of BIOS loading when I was using BIOS in a web page as an ActiveX control.

Now lets get on with using the object. Printing will be our first topic.

Printing on the BIOS Object

The BIOS object supports a BIOSPrint command which you can use to print with. You can't use the Print string1; string2; style as you could with traditional BASIC (and still can do with VB), but you can seperate variables with commas, or simply have one string. Lets use the Visual Basic InputBox to display messages on the BIOS:

Dim PrintString As String
Dim PrintString2 As String

PrintString = InputBox("Enter a message:", "BIOS")
PrintString2 = InputBox("Enter another message:","BIOS")

objBIOS.BIOSPrint "Read These Messages:", PrintString, PrintString2

This will display the text you entered, separated by tabs:

BIOS Screen

Inputting Text from the BIOS Object

Now comes another powerful feature - the BIOSInput method. This lets you input text from the keyboard. You can either supply the function with an output variable, or an output variable and a prompt. The next example prompts the user for a name and prints it.

Dim InputString As String
Dim InputString2 As String

objBIOS.BIOSInput "What is your first name", InputString
objBIOS.BIOSPrint vbCrLf
objBIOS.BIOSInput "What is your last name", InputString2
objBIOS.BIOSPrint vbCrLf
objBIOS.BIOSPrint "Nice to meet you, " & InputString & " " & InputString2 & "."

You will notice that you need to explicitly print the new-line character. This is required because of a little bug in BIOS.

BIOS input

Other Properties and Methods

BackColour

BackColour sets the background colour of the BIOS window. You can use system colour constants as well as RGB-colour values.

Caption

Caption sets the caption of the BIOS window.

Cls

Cls clears the BIOS window.

Height/Width

Height and Width set the heights and widths of the BIOS window in twips.

Distribution

You can distribute and use BIOS in web pages and programs. You can put BIOS in a cabinet and use that to install it on the end-user's computer. I have created a cabinet called ScriptUtl.cab that installs BIOS. However, the Visual Basic 4.0 runtime files must be on the target computer. Please also note that this cabinet is not digitally signed, so IE will likely reject it. (If it doesn't, your security settings are set too low - it's not a good idea in this day and age to allow unsigned ActiveX controls, etc, to be installed!) The following code should create an object called objBIOS for you:

<object name="objBIOS" classid="clsid:8189BB3C-B0B6-11D3-96B6-819587A9BE4C" codebase="ScriptUtl.cab#Version=1,0,0,9" border="0" width="1" height="1"></object>

If you are going to distribute BIOS, you must put the following notice in the page:

BIOS: Created by Owen Rudge
See http://www.owenrudge.net/vb/bios for more information.


IMPORTANT:

I will not be held responsible for any losses caused by use of the BIOS Object. It has not worked perfectly on my computer, especially when used in web pages, but has been fine in Visual Basic. Please send me feedback about how you are getting on.

Copyright © Owen Rudge 1998-2024. All Rights Reserved.
Legal Information | Privacy Policy