Fundamentals of BASIC: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
Line 95: Line 95:
</pre>
</pre>


= Control structures =  
= Control structures =
<pre>
If a=b Then c=1
 
If a=b Then
  c=1
End If
 
If a=b Then
  C=1
Else
  C=2
End If
 
For i=1 to 10
  Print i
Next
 
i=0
Do While i<10
  Print i
  i=i+1
Loop
 
i=0
Do
  Print i
  i=i+1
Loop Until i=10
 
Rem While...Wend Example
'While...Wend repeats a group of statements
 
Dim Counter
Counter = 1
While Counter < 5
  Print "Counter = " & Counter
  Counter = Counter + 1
Wend
 
Rem With sample
'With statement allows accessing properties on a specified object
 
Dim theURL, theTitle
With document
  theURL = .URL
  .title = "New Title"
  theTitle = .title
  Print .URL
  Print .title
End With
 
Rem Select Case Example
'Select Case performs conditional execution
CheckHat("Blue")
CheckHat("Orange")
Sub CheckHat(Hat)
  Select Case Hat
  Case "Blue"
    Print "Kyle's hat"
  Case "Green"
    Print "Stan's hat"
  Case "Cyan"
    Print "Eric's hat"
  Case "Orange", "Hood"
    Print "Kenny's hat"
  Case "White"
    Print "Chef's hat"
  Case "Striped"
    Print "Mr. Hat"
  Case "Christmas", "Santa"
    Print "Mr. Hankey's hat"
  Case Else
    Print "Unknown Hat"
  End Select
End Sub
 
Sub mySubroutine(a,b)
  Print a + b
End Sub
 
Function myFunction(a,b)
  myFunction = a + b
End Function
 
= Importing VB code =
= Importing VB code =
= A few interesting statements =
= A few interesting statements =

Revision as of 10:21, 10 December 2013

Variables

Naming

The following list shows some variable names that are allowed by AppStudio:

text
LLAMAS
Jupiter
W1Spec
SouthPark

And some that are not allowed:

1table          'starts with a number 
X&Ycords        'uses special character & 
first counter   'has a space 
%correct        'does not start with a letter
print           'Keyword

Variables

  • All variables are of type Variant.
  • No explicit types
  • Variable get their types from the value that is assigned.

Numeric

  • Floating point: 5e-324 (negative) to 1.7976931348623157e+308 (positive)
  • Integers: reliable to 15 digits.
  • Hex: 0x500 = 1280
  • Octal: O500 = 320

Booleans

  • True or False.

Colors

  • From “#000000” to “#FFFFFF” (black to white)
  • color = (red*65536) + (green * 256) + blue

Strings

  • Maximum length depends on memory, up to 2 billion characters

Arrays

  • Dim A(9) declares an array with 10 elements
  • Dim B(8,8) creates a two dimensional array
  • Elements can be referred to as A(3), B(2,3), etc.
  • Dim statement has to be in each Code Module
  • The following notation is also OK: a[3], B[2][3}
  • Array elements do not exist until they are assigned.

Collections

  • Like an Array, but uses string values to index
Dim item1, myCollection(10)
item1="Knuth"

'Create our collection
myCollection[item1] = "firstKey"
Print myCollection[item1]  'displays "firstkey"

Objects

  • An object is a collection of named values, called properties
Customer={Name: Lovelace, Age: 195, kids:{Byron: 1, Annabella: 2, Ralph: 3}}
Print Customer.name  'displays "LoveLace"

Classes

'Define a class like this
Function Person(name, gender)
   'Add object properties like this
   this.name = name
   this.gender = gender
End Function

'Add methods like this.  All Person objects will be able to invoke this
Function speakName()
  Print "Howdy, my name is " & this.name
End Function

Person.prototype.speak = Eval("speakName")

'Instantiate new objects with 'new'
bob = new Person("Bob", "M")

'Invoke methods like this
bob.speak() 'Prints "Howdy, my name is Bob"

Control structures

If a=b Then c=1

If a=b Then
  c=1
End If

If a=b Then
  C=1
Else
  C=2
End If

For i=1 to 10
  Print i
Next

i=0
Do While i<10
  Print i
  i=i+1
Loop

i=0
Do
  Print i
  i=i+1
Loop Until i=10

Rem While...Wend Example
'While...Wend repeats a group of statements

Dim Counter
Counter = 1
While Counter < 5
  Print "Counter = " & Counter
  Counter = Counter + 1
Wend

Rem With sample
'With statement allows accessing properties on a specified object

Dim theURL, theTitle
With document
  theURL = .URL
  .title = "New Title"
  theTitle = .title
  Print .URL
  Print .title
End With

Rem Select Case Example
'Select Case performs conditional execution
CheckHat("Blue")
CheckHat("Orange")
Sub CheckHat(Hat)
  Select Case Hat
  Case "Blue"
    Print "Kyle's hat"
  Case "Green"
    Print "Stan's hat"
  Case "Cyan"
    Print "Eric's hat"
  Case "Orange", "Hood"
    Print "Kenny's hat"
  Case "White"
    Print "Chef's hat"
  Case "Striped"
    Print "Mr. Hat"
  Case "Christmas", "Santa"
    Print "Mr. Hankey's hat"
  Case Else
    Print "Unknown Hat"
  End Select
End Sub

Sub mySubroutine(a,b)
  Print a + b
End Sub

Function myFunction(a,b)
  myFunction = a + b
End Function

Importing VB code

A few interesting statements