Visual Basic Version, Form1 Listing




VERSION 2.00
Begin Form Form1 
   Caption         =   "Baseball Probability"
   Height          =   7200
   Icon            =   BBALLF1.FRX:0000
   Left            =   1050
   LinkTopic       =   "Form1"
   ScaleHeight     =   6510
   ScaleWidth      =   7395
   Top             =   0
   Width           =   7515
   Begin Frame Frame2 
      Caption         =   "Output"
      Height          =   3375
      Left            =   120
      TabIndex        =   9
      Top             =   3120
      Width           =   7215
      Begin CommandButton CmReset 
         Caption         =   "Reset"
         Height          =   375
         Left            =   5640
         TabIndex        =   36
         Top             =   1320
         Width           =   1215
      End
      Begin CommandButton ComUpdateOutput 
         Caption         =   "Update Output"
         Height          =   375
         Left            =   3720
         TabIndex        =   28
         Top             =   1320
         Width           =   1575
      End
      Begin Label LabelMNW2 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   33
         Top             =   3000
         Width           =   1575
      End
      Begin Label LabelMNT2 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   32
         Top             =   2640
         Width           =   1575
      End
      Begin Label LabelMNW1 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   31
         Top             =   2280
         Width           =   1575
      End
      Begin Label LabelMNT1 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   30
         Top             =   1920
         Width           =   1575
      End
      Begin Label LabelPoQ 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   29
         Top             =   1560
         Width           =   1575
      End
      Begin Label Label1oQ 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   26
         Top             =   1200
         Width           =   1575
      End
      Begin Label LabelQ 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   25
         Top             =   840
         Width           =   1575
      End
      Begin Label LabelP 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   360
         TabIndex        =   24
         Top             =   480
         Width           =   1575
      End
      Begin Label Label12 
         Caption         =   "= Magic number to win for 2nd place team"
         Height          =   255
         Left            =   2040
         TabIndex        =   17
         Top             =   3000
         Width           =   4935
      End
      Begin Label Label11 
         Caption         =   "= Magic number to tie for 2nd place team"
         Height          =   255
         Left            =   2040
         TabIndex        =   16
         Top             =   2640
         Width           =   4935
      End
      Begin Label Label10 
         Caption         =   "= Magic number to win for 1st place team"
         Height          =   255
         Left            =   2040
         TabIndex        =   15
         Top             =   2280
         Width           =   5055
      End
      Begin Label Label9 
         Caption         =   "= Magic number to tie for 1st place team"
         Height          =   255
         Left            =   2040
         TabIndex        =   14
         Top             =   1920
         Width           =   4935
      End
      Begin Label Label8 
         Caption         =   "= Odds : 1"
         Height          =   255
         Left            =   2040
         TabIndex        =   13
         Top             =   1560
         Width           =   1335
      End
      Begin Label Label7 
         Caption         =   "= 1 / Q"
         Height          =   255
         Left            =   2040
         TabIndex        =   12
         Top             =   1200
         Width           =   1335
      End
      Begin Label Label6 
         Caption         =   "= Q, Probability that 2nd place team beats 1st place team"
         Height          =   255
         Left            =   2040
         TabIndex        =   11
         Top             =   840
         Width           =   5055
      End
      Begin Label Label5 
         Caption         =   "= P, Probability that 1st place team beats 2nd place team"
         Height          =   255
         Left            =   2040
         TabIndex        =   10
         Top             =   480
         Width           =   5055
      End
   End
   Begin Frame Frame1 
      Caption         =   "Input"
      Height          =   3015
      Left            =   120
      TabIndex        =   0
      Top             =   0
      Width           =   7215
      Begin CommandButton CheckInput 
         Caption         =   "Check Input"
         Height          =   375
         Left            =   4920
         TabIndex        =   27
         Top             =   2520
         Width           =   1335
      End
      Begin TextBox txtDate 
         Height          =   285
         Left            =   4920
         MaxLength       =   12
         TabIndex        =   22
         Top             =   1920
         Width           =   2055
      End
      Begin TextBox txtTN2 
         Height          =   285
         Left            =   4920
         MaxLength       =   12
         TabIndex        =   21
         Top             =   1200
         Width           =   2055
      End
      Begin TextBox txtTN1 
         Height          =   285
         Left            =   4920
         MaxLength       =   12
         TabIndex        =   20
         Top             =   480
         Width           =   2055
      End
      Begin TextBox txtGA 
         Height          =   285
         Left            =   2640
         MaxLength       =   5
         TabIndex        =   5
         Top             =   2640
         Width           =   1095
      End
      Begin TextBox txtGE 
         Height          =   285
         Left            =   2640
         MaxLength       =   3
         TabIndex        =   4
         Top             =   1920
         Width           =   1095
      End
      Begin TextBox txtGL2 
         Height          =   285
         Left            =   2640
         MaxLength       =   3
         TabIndex        =   3
         Top             =   1200
         Width           =   1095
      End
      Begin TextBox txtGL1 
         Height          =   285
         Left            =   2640
         MaxLength       =   3
         TabIndex        =   2
         Top             =   480
         Width           =   1095
      End
      Begin Label LabelGAEr 
         Height          =   255
         Left            =   720
         TabIndex        =   35
         Top             =   2640
         Width           =   975
      End
      Begin Label LabelGEEr 
         Height          =   255
         Left            =   720
         TabIndex        =   34
         Top             =   1920
         Width           =   975
      End
      Begin Label Label14 
         Caption         =   "Date of morning after:"
         Height          =   255
         Left            =   4920
         TabIndex        =   23
         Top             =   1680
         Width           =   2055
      End
      Begin Label Label13 
         Caption         =   "2nd Team's name:"
         Height          =   255
         Left            =   4920
         TabIndex        =   19
         Top             =   960
         Width           =   1575
      End
      Begin Label Label4 
         Caption         =   "1St Team's name:"
         Height          =   255
         Left            =   4920
         TabIndex        =   18
         Top             =   240
         Width           =   1575
      End
      Begin Label LabelGA 
         Caption         =   "Games 1st place team is ahead:"
         Height          =   255
         Left            =   480
         TabIndex        =   8
         Top             =   2400
         Width           =   3255
      End
      Begin Label LabelGE 
         Caption         =   "Games left to play each other:"
         Height          =   255
         Left            =   480
         TabIndex        =   7
         Top             =   1680
         Width           =   3375
      End
      Begin Label Label2 
         Caption         =   "Games left yo play by 2nd place team:"
         Height          =   255
         Left            =   480
         TabIndex        =   6
         Top             =   960
         Width           =   3255
      End
      Begin Label Label1 
         Caption         =   "Games left to play by 1st place team:"
         Height          =   255
         Left            =   480
         TabIndex        =   1
         Top             =   240
         Width           =   3255
      End
   End
   Begin Menu File 
      Caption         =   "&File"
      Begin Menu PrintSetup 
         Caption         =   "P&rint Setup"
         Enabled         =   0   'False
      End
      Begin Menu Print 
         Caption         =   "&Print..."
         Shortcut        =   ^P
      End
      Begin Menu Hi 
         Caption         =   "-"
      End
      Begin Menu Exit 
         Caption         =   "E&xit"
      End
   End
   Begin Menu Help 
      Caption         =   "&Help"
      Begin Menu Test 
         Caption         =   "&Test"
      End
      Begin Menu About 
         Caption         =   "&About..."
      End
   End
End

Sub About_Click ()
    Dim Msg, NL
    NL = Chr(10)    ' Define newline.
    Msg = Namee$ & NL & NL
    Msg = Msg & Version$ & NL & NL
    Msg = Msg & Author$ & NL & NL
    Msg = Msg & Address$ & NL & NL & NL & NL
    Msg = Msg & Hint1$ & NL
    Msg = Msg & Hint2$
    MsgBox Msg  ' Display message.
End Sub

Sub CheckInput_Click ()
    UpdateInput
End Sub

Sub CmReset_Click ()
    txtGL1.Text = ""
    txtGL2.Text = ""
    txtGE.Text = ""
    txtGA.Text = ""
    txtTN1.Text = ""
    txtTN2.Text = ""
    txtDate.Text = Date
    LabelP = ""
    LabelQ = ""
    Label1oQ = ""
    LabelPoQ = ""
    LabelMNT1 = ""
    LabelMNW1 = ""
    LabelMNT2 = ""
    LabelMNW2 = ""
End Sub

Sub ComUpdateOutput_Click ()
    UpdateOutput
End Sub

Sub Exit_Click ()
    End
End Sub

Sub Form_Load ()
    Namee$ = "BBallVB - Baseball probability."
    Version$ = "VisualBASIC Version 2.1a, last revised: 1994-05-28, 0600 hours"
    Author$ = "Copyright (c) 1981-1994 by author: Harry J. Smith,"
    Address$ = "19628 Via Monte Dr., Saratoga, CA 95070.  All rights reserved."
    Hint1 = "Uses a bivariate binomial distribution as a model,"
    Hint2 = "and assumes each game is a 50-50 chance."
    txtDate.Text = Date
End Sub

Sub Print_Click ()
    Dim Msg, NL, HalfHeight, sp$
    On Error GoTo ErrorHandler  'Set up error handler.
    NL = Chr(10)    ' Define newline.
    sp$ = "        "

    Msg = sp$ & Namee$ & NL & sp$
    Msg = Msg & Version$ & NL & sp$
    Msg = Msg & Author$ & NL & sp$
    Msg = Msg & Address$ & NL & NL & sp$
		
    Msg = Msg & Hint1$ & NL & sp$
    Msg = Msg & Hint2$ & NL & NL & sp$

    Msg = Msg & txtDate.Text & " = Date of morning after last game" & NL & sp$
    Msg = Msg & txtGL1.Text & " = Games Left to play, 1st place team ("
    Msg = Msg & TN1 & ")" & NL & sp$
    Msg = Msg & txtGL2.Text & " = Games Left to play, 2nd place team ("
    Msg = Msg & TN2 & ")" & NL & sp$
    Msg = Msg & txtGE.Text & " = Games to play each other" & NL & sp$
    Msg = Msg & txtGA.Text & " = Games 1st place team is ahead.  0, 0.5, ..." & NL & NL & sp$

    Msg = Msg & LabelMNT1 & " = Magic Number to tie for 1st place team" & NL & sp$
    Msg = Msg & LabelMNW1 & " = Magic Number to win for 1st place team" & NL & sp$
    Msg = Msg & LabelMNT2 & " = Magic Number to tie for 2nd place team" & NL & sp$
    Msg = Msg & LabelMNW2 & " = Magic Number to win for 2nd place team" & NL & NL & sp$
												     
    Msg = Msg & LabelP & " = P = Probability that 1st place team beats 2nd place team" & NL & sp$
    Msg = Msg & LabelQ & " = Q = Probability that 2nd place team beats 1st place team" & NL & sp$
    Msg = Msg & Label1oQ & " = 1 / Q, (Odds = " & LabelPoQ & " : 1)"

    HalfHeight = TextHeight(Msg) / 2    ' Calculate half height.
    Printer.CurrentY = Printer.ScaleHeight / 4 - HalfHeight ' Set Y.
    Printer.Print Msg
    Printer.NewPage ' Send new page.
    Printer.EndDoc  ' Print done.
    Exit Sub

ErrorHandler:
    MsgBox "There was a problem printing to your printer."
    Exit Sub
End Sub

Sub Test_Click ()
    txtGL1.Text = "6"
    txtGL2.Text = "7"
    txtGE.Text = "0"
    txtGA.Text = "1.5"
    txtTN1.Text = "Braves"
    txtTN2.Text = "Giants"
    txtDate.Text = "1993-09-27"
    Call UpdateOutput
End Sub

Sub txtDate_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtGA_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtGA_LostFocus ()
    Call UpdateGA
End Sub

Sub txtGE_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtGE_LostFocus ()
    Call UpdateGE
End Sub

Sub txtGL1_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtGL1_LostFocus ()
    Call UpdateGL1
End Sub

Sub txtGL2_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtGL2_LostFocus ()
    Call UpdateGL2
End Sub

Sub txtTN1_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtTN1_LostFocus ()
    TN1 = txtTN1.Text
End Sub

Sub txtTN2_KeyPress (KeyAscii As Integer)
    If (KeyAscii = 13) Then 'Keyascii 13 = Enter key
	Call UpdateOutput
    End If
End Sub

Sub txtTN2_LostFocus ()
    TN2 = txtTN2.Text
End Sub

Sub UpdateGA ()
    GA = Abs(Val(txtGA.Text))
    GA2 = CLng(2 * GA) 'Round
    GA = CDbl(GA2) / 2
    txtGA.Text = GA
End Sub

Sub UpdateGE ()
    GE = Abs(Val(txtGE.Text))
    txtGE.Text = GE
End Sub

Sub UpdateGL1 ()
    GL1 = Abs(Val(txtGL1.Text))
    txtGL1.Text = GL1
End Sub

Sub UpdateGL2 ()
    GL2 = Abs(Val(txtGL2.Text))
    txtGL2.Text = GL2
End Sub

Sub UpdateInput ()
    Call UpdateGL1
    Call UpdateGL2
    Call UpdateGA
    Call UpdateGE
    TN1 = txtTN1.Text
    TN2 = txtTN2.Text
    If GE > GL1 Or GE > GL2 Then
	GEEr = True
	LabelGEEr = "ERROR -->"
	txtGE.ForeColor = QBColor(4) 'Red
	LabelGE.ForeColor = QBColor(4)
    Else
	GEEr = False
	LabelGEEr = ""
	txtGE.ForeColor = QBColor(0) 'Black
	LabelGE.ForeColor = QBColor(0)
    End If
    Call ExpandCase
    TN1 = txtTN1.Text
    TN2 = txtTN2.Text
    If GAEr = True Then
	LabelGAEr = "ERROR -->"
	txtGA.ForeColor = QBColor(4) 'Red
	LabelGA.ForeColor = QBColor(4)
    Else
	LabelGAEr = ""
	txtGA.ForeColor = QBColor(0) 'Black
	LabelGA.ForeColor = QBColor(0)
    End If
End Sub

Sub UpdateOutput ()
    Call UpdateInput
    If GEEr Then
	PEr = True
	Q = 0
    Else
	Call ComputeProb
    End If
    If PEr Then
	LabelP = ""
	LabelQ = ""
    Else
	LabelP = Format(P, "0.0000")
	LabelQ = Format(Q, "0.0000")
	If Q = 0 Then
	    LabelP = "One"
	    LabelQ = "Zero"
	Else
	    If LabelQ = "0.0000" Then
		LabelQ = "Very Small"
		LabelP = "Almost 1.0000"
	    End If
	End If
    End If
    If Q <> 0 Then
	If 1 / Q < 9999999999.9999 Then
	    Label1oQ = Format(1 / Q, "0.0000")
	    LabelPoQ = Format(P / Q, "0.0000")
	Else
	    Label1oQ = "> 10^10"
	    LabelPoQ = "> 10^10"
	End If
	LabelMNT1 = MNT1
	LabelMNW1 = MNW1
	LabelMNT2 = MNT2
	LabelMNW2 = MNW2
    Else
	Label1oQ = ""
	LabelPoQ = ""
	LabelMNT1 = ""
	LabelMNW1 = ""
	LabelMNT2 = ""
	LabelMNW2 = ""
    End If
End Sub

Return to Baseball Pennant Race Odds
Return to Harry's Home Page


This page accessed times since October 20, 2004.
Page created by: hjsmithh@sbcglobal.net
Changes last made on Saturday, 14-May-05 12:42:46 PDT

1