You are on page 1of 3

option strict on

public class shipping


dim inttounces as integer 'declare global variables
dim intcounter as integer
private sub btnexit_click(byval sender as system.object, byval e as
system.eventargs) handles btnexit.click
me.close() 'close the program
end sub
private sub btncalculate_click(byval sender as system.object, byval e as
system.eventargs) handles btncalculate.click
callall() 'execute all subroutines needed to perform function
lstoutput.items.add(txtid.text & " " & txtpounds.text & " lbs " &
txtounces.text & " oz " & txtcost.text) 'print data to listbox
end sub
private sub callall()
dim e as integer = 0 'declare hella variables because i believe i need
them
dim intlb as integer
dim intoz as integer
dim tb as textbox = txtpounds
dim x as integer
dim testp as integer = 0
dim testo as integer = 0
testp = txtpounds.text.indexof("+") + txtpounds.text.indexof("-") +
txtpounds.text.indexof("*") + txtpounds.text.indexof("/") + 4 'check for
mathmatical functions
testo = txtounces.text.indexof("+") + txtounces.text.indexof("-") +
txtounces.text.indexof("*") + txtounces.text.indexof("/") + 4
if testp > 0 then 'return result of check
badsymbol()
tb = txtpounds
selfocus(tb)
e = 1
elseif testo > 0 then 'return result of check
badsymbol()
tb = txtounces
selfocus(tb)
e = 1
end if
if e = 0 then
try 'begin try catch
if txtpounds.text = "" then 'convert a blank box to 0
intlb = 0
txtpounds.text = "0"
else
intlb = convert.toint32(txtpounds.text) 'continue with inputed
number
end if
catch ex as exception
tb = txtpounds 'set up focus box/error
message/block check on second box
msgbox("you must enter a positive whole integer for pounds!", ,
"you goofed up!")
e = 1
end try
try
if txtounces.text = "" then 'convert a blank box to 0
int0z = 0
txtounces.text = "0"
else
intoz = convert.toint32(txtounces.text) 'take value
if 16 < intoz then 'correct lb/oz values (17oz = 1lb,
10z)
x = intoz \ 16
intoz = intoz mod 16
intlb = x + intlb
txtpounds.text = convert.tostring(intlb) 'show
corrected values
txtounces.text = convert.tostring(intoz)
end if
end if
catch ex as exception
tb = txtounces 'error message/focus box/block script
value set
msgbox("you must enter a positive whole integer for ounces!", ,
"you goofed up!")
e = 1
end try
end if
if e = 0 then 'block or execute script
convertlb(intlb, intoz) 'call subroutines
txtid.text = nextid() 'set function to textbox
totalweight()
totalcost()
txtpounds.focus() 'set focus/select
txtpounds.selectall()
else
selfocus(tb) 'focus on errored box
end if
end sub
private sub convertlb(byval l as integer, byval o as integer)
dim x as integer
l = l * 16 'convert lbs to ounces
inttounces = l + o + inttounces 'add all oz up
x = l + o
cost(x) 'calculate cost for package
end sub
private function nextid() as string
intcounter = intcounter + 1 'counter
if intcounter < 10 then 'place beginning zeroes/return value
return "awb00" & convert.tostring(intcounter)
elseif intcounter < 100 then
return "awb0" & convert.tostring(intcounter)
else
return "awb" & convert.tostring(intcounter)
end if
end function
private sub totalcost()
dim x as decimal 'declare some variables
x = inttounces * 0.12d 'calculate total cost
txttotalcost.text = formatcurrency(x) 'post total cost
end sub
private sub totalweight()
dim intlb as integer 'declare some variables
dim intoz as integer
intlb = inttounces \ 16 'convert oz back to lbs
intoz = inttounces mod 16
txtweighttotal.text = intlb & " lbs, " & intoz & " oz" 'print total
weight to txtbox
end sub
private sub btnclear_click(byval sender as system.object, byval e as
system.eventargs) handles btnclear.click
intcounter = 0 'clear everything and reset values/focus
inttounces = 0
lstoutput.items.clear()
txtid.text = ""
txtpounds.text = ""
txtounces.text = ""
txtcost.text = ""
txtweighttotal.text = "0 lbs 0 oz"
txttotalcost.text = "$0.00"
txtpounds.focus()
txtpounds.selectall()
end sub
private sub cost(byval x as integer)
dim y as decimal
y = x * 0.12d 'calculate item shipping cost
txtcost.text = formatcurrency(y) 'print said shipping cost
end sub
private sub selfocus(byval tb as textbox)
tb.focus() 'select focus for desired textbox
tb.selectall()
end sub
private sub txtpounds_enter(byval sender as system.object, byval e as
system.eventargs) handles txtpounds.enter
txtpounds.selectall() 'highlight value in txtpounds
end sub
private sub txtounces_enter(byval sender as system.object, byval e as
system.eventargs) handles txtounces.enter
txtounces.selectall() 'highlight value in txtounces
end sub
private sub badsymbol()
msgbox("just enter a positive integer, digits only, please.", , "what are
you thinkin?") 'return error
end sub
end class