Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

Ok here is my code.

 

Dim sum As Decimal

sum = CDbl(TxtListNumBooks.Text) * 0.1 * CDbl(TxtListNumDaysLate.Text)

 

 

LblShowFines.Text = "Your total fine is: " & CStr(FormatCurrency(sum))

LblShowFines.BorderStyle = BorderStyle.FixedSingle

 

 

What this does is make a simple program that calculates a fine.

It seems to work fine as long as I type an input into the test boxs.

I can even put 0 and 0 in them.

The problem occurs when I don't put an input into them.

Any suggestions.??

 

Btw I need a little input it making another form popup if fine = more than so many dollars.

Looking to expand my VB.Net knowledge.

 

Jblake00

  • *Experts*
Posted

You can check if the Text of the Textboxes is empty or not and if it is then stop the execution of the calculation.

If TextBoxObject.Text = '" Then
'tell the user to input something
End If

Posted

Not exactly what I was looking for but thanks.

Im sorry I didn't clarify what I wanted my result to be the first time.

But this is what I what it to do.

If no input is added when the Button calculate fines is pushed I want it to display " your fine is: $0.00

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
ublic Class Form1
   Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

   Public Sub New()
       MyBase.New()

       'This call is required by the Windows Form Designer.
       InitializeComponent()

       'Add any initialization after the InitializeComponent() call

   End Sub

   'Form overrides dispose to clean up the component list.
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
           If Not (components Is Nothing) Then
               components.Dispose()
           End If
       End If
       MyBase.Dispose(disposing)
   End Sub

   'Required by the Windows Form Designer
   Private components As System.ComponentModel.IContainer

   'NOTE: The following procedure is required by the Windows Form Designer
   'It can be modified using the Windows Form Designer.  
   'Do not modify it using the code editor.
   Friend WithEvents LblTypeNumBooks As System.Windows.Forms.Label
   Friend WithEvents LblTypeNumDaysLate As System.Windows.Forms.Label
   Friend WithEvents LblShowFines As System.Windows.Forms.Label
   Friend WithEvents LlbThankYou As System.Windows.Forms.Label
   Friend WithEvents TxtListNumBooks As System.Windows.Forms.TextBox
   Friend WithEvents TxtListNumDaysLate As System.Windows.Forms.TextBox
   Friend WithEvents BtnCalulateFines As System.Windows.Forms.Button
   Friend WithEvents BtnExit As System.Windows.Forms.Button
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.LblTypeNumBooks = New System.Windows.Forms.Label()
       Me.LblTypeNumDaysLate = New System.Windows.Forms.Label()
       Me.LblShowFines = New System.Windows.Forms.Label()
       Me.LlbThankYou = New System.Windows.Forms.Label()
       Me.TxtListNumBooks = New System.Windows.Forms.TextBox()
       Me.TxtListNumDaysLate = New System.Windows.Forms.TextBox()
       Me.BtnCalulateFines = New System.Windows.Forms.Button()
       Me.BtnExit = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       '
       'LblTypeNumBooks
       '
       Me.LblTypeNumBooks.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.LblTypeNumBooks.ForeColor = System.Drawing.Color.Blue
       Me.LblTypeNumBooks.Location = New System.Drawing.Point(8, 40)
       Me.LblTypeNumBooks.Name = "LblTypeNumBooks"
       Me.LblTypeNumBooks.Size = New System.Drawing.Size(112, 32)
       Me.LblTypeNumBooks.TabIndex = 0
       Me.LblTypeNumBooks.Text = "Type the number of books here ----->"
       '
       'LblTypeNumDaysLate
       '
       Me.LblTypeNumDaysLate.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.LblTypeNumDaysLate.ForeColor = System.Drawing.Color.Blue
       Me.LblTypeNumDaysLate.Location = New System.Drawing.Point(8, 88)
       Me.LblTypeNumDaysLate.Name = "LblTypeNumDaysLate"
       Me.LblTypeNumDaysLate.Size = New System.Drawing.Size(112, 32)
       Me.LblTypeNumDaysLate.TabIndex = 1
       Me.LblTypeNumDaysLate.Text = "Type the number of days late ------>"
       '
       'LblShowFines
       '
       Me.LblShowFines.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.LblShowFines.Location = New System.Drawing.Point(336, 56)
       Me.LblShowFines.Name = "LblShowFines"
       Me.LblShowFines.Size = New System.Drawing.Size(144, 32)
       Me.LblShowFines.TabIndex = 2
       Me.LblShowFines.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
       '
       'LlbThankYou
       '
       Me.LlbThankYou.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, (System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.LlbThankYou.ForeColor = System.Drawing.Color.Blue
       Me.LlbThankYou.Location = New System.Drawing.Point(136, 136)
       Me.LlbThankYou.Name = "LlbThankYou"
       Me.LlbThankYou.Size = New System.Drawing.Size(280, 23)
       Me.LlbThankYou.TabIndex = 3
       Me.LlbThankYou.Text = "Thanks for your prompt payment"
       Me.LlbThankYou.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
       '
       'TxtListNumBooks
       '
       Me.TxtListNumBooks.BorderStyle = System.Windows.Forms.BorderStyle.None
       Me.TxtListNumBooks.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.TxtListNumBooks.Location = New System.Drawing.Point(144, 40)
       Me.TxtListNumBooks.Multiline = True
       Me.TxtListNumBooks.Name = "TxtListNumBooks"
       Me.TxtListNumBooks.Size = New System.Drawing.Size(72, 20)
       Me.TxtListNumBooks.TabIndex = 4
       Me.TxtListNumBooks.Text = ""
       Me.TxtListNumBooks.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
       '
       'TxtListNumDaysLate
       '
       Me.TxtListNumDaysLate.AllowDrop = True
       Me.TxtListNumDaysLate.BorderStyle = System.Windows.Forms.BorderStyle.None
       Me.TxtListNumDaysLate.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.TxtListNumDaysLate.Location = New System.Drawing.Point(144, 88)
       Me.TxtListNumDaysLate.Multiline = True
       Me.TxtListNumDaysLate.Name = "TxtListNumDaysLate"
       Me.TxtListNumDaysLate.Size = New System.Drawing.Size(72, 20)
       Me.TxtListNumDaysLate.TabIndex = 5
       Me.TxtListNumDaysLate.Text = ""
       Me.TxtListNumDaysLate.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
       '
       'BtnCalulateFines
       '
       Me.BtnCalulateFines.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.BtnCalulateFines.Location = New System.Drawing.Point(224, 56)
       Me.BtnCalulateFines.Name = "BtnCalulateFines"
       Me.BtnCalulateFines.Size = New System.Drawing.Size(104, 32)
       Me.BtnCalulateFines.TabIndex = 6
       Me.BtnCalulateFines.Text = "Calculate Fine"
       '
       'BtnExit
       '
       Me.BtnExit.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
       Me.BtnExit.Location = New System.Drawing.Point(392, 168)
       Me.BtnExit.Name = "BtnExit"
       Me.BtnExit.Size = New System.Drawing.Size(56, 23)
       Me.BtnExit.TabIndex = 7
       Me.BtnExit.Text = "E&xit"
       '
       'Form1
       '
       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
       Me.BackColor = System.Drawing.Color.FromArgb(CType(128, Byte), CType(255, Byte), CType(128, Byte))
       Me.ClientSize = New System.Drawing.Size(488, 198)
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.BtnExit, Me.BtnCalulateFines, Me.TxtListNumDaysLate, Me.TxtListNumBooks, Me.LlbThankYou, Me.LblShowFines, Me.LblTypeNumDaysLate, Me.LblTypeNumBooks})
       Me.Name = "Form1"
       Me.Text = "Library Fine Calulation"
       Me.ResumeLayout(False)

   End Sub

#End Region

   Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click
       End

   End Sub

   Private Sub LblShowFines_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LblShowFines.Click


   End Sub

   Private Sub BtnCalulateFines_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalulateFines.Click


       Dim sum As Double

       sum = CDbl(TxtListNumBooks.Text) * 0.1 * CDbl(TxtListNumDaysLate.Text)

       LblShowFines.Text = "Your total fine is:   " & CStr(FormatCurrency(sum))
       LblShowFines.BorderStyle = BorderStyle.FixedSingle


   End Sub

   Private Sub TxtListNumBooks_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtListNumBooks.TextChanged
       TxtListNumBooks.TextAlign = HorizontalAlignment.Center

   End Sub

   Private Sub TxtListNumDaysLate_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtListNumDaysLate.TextChanged
       TxtListNumDaysLate.TextAlign = HorizontalAlignment.Center

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   End Sub

   Private Sub LblTypeNumBooks_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LblTypeNumBooks.Click

   End Sub
End Class

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
Ok there is my whole code if some could please tell me what and were to add something to make it display "Your total fine is: $0.00 if there is no input in the text boxes.

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
   Private Sub BtnCalulateFines_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalulateFines.Click


       Dim sum As Double

       Try
          sum = CDbl(TxtListNumBooks.Text) * 0.1 * CDbl(TxtListNumDaysLate.Text)
       Catch ex As Exception
           sum = 0
       End Try

       LblShowFines.Text = "Your total fine is:   " & CStr(FormatCurrency(sum))
       LblShowFines.BorderStyle = BorderStyle.FixedSingle


   End Sub

Gamer extraordinaire. Programmer wannabe.
Posted

Thanks

That solves half of the problem at least. The program no longer crashes in the debug stage when the calculate fine button is pressed, however it does not display my message "Your total fine is: $0.00.....

I really need to figure out how to do that.

Thank again, I really appreciate all the help I have been getting from you people.

This is a learning experience for me. It mean allot more to me than just getting a good grade. Programing is something I have really wanted to learn for a long time. I want yall to know that I don't just come here looking to be told about how to do something before I make many attemps to solve the problem myself. I use my help and search features that come we VB.net and search the forums looking for an answer before I post. If the answer to my question has already been post before and I have overlooked it. A link to that post would be a fine way to answer my question.

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted

Oops that caused the program to display no results when I added to the code even when I had an input in the text boxes.

I replaced the code with it I wander if I should have added it under my code?

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
Private Sub BtnCalulateFines_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalulateFines.Click
       'Clayton I am have much problems with this code.
       'When I use this code it works fine as long as there is an input.
       'But when there is no input it brings up an exception form when I debug.
       'So I tryed this try It keeps the program from crashing but also,
       'gives no output when there is an input 
       REM Try
       Dim sum As Double

       sum = CDbl(TxtListNumBooks.Text) * 0.1 * CDbl(TxtListNumDaysLate.Text)
       REM Catch ex As Exception
       REM Dim sum As DialogResult

       REM sum = 0.0


       LblShowFines.Text = "Your total fine is:   " & CStr(FormatCurrency(sum))
       LblShowFines.BorderStyle = BorderStyle.FixedSingle

       REM End Try

   End Sub

   Private Sub TxtListNumBooks_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtListNumBooks.TextChanged
       TxtListNumBooks.TextAlign = HorizontalAlignment.Center

   End Sub 

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
I am not sure I am going about this calculating proccess in the right way. So if someone knows a better method please inform me. In another words I could be possibly trying to use the wrong code all together.

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted (edited)

Ok I learned how to create a message box


MsgBox("Warning if your debt is not payed promptly, Then it will be turned over to the StrongArmCollectionAgency.", , "Consolation")

 

But here is my two troubles.

[*]If there is no input in my text boxes the program pops up an

error dialog.

[*] I only want the message box to popup if the amount of the fine = 25 dollars or more.

[/list=1]

Here is my code.


Private Sub BtnCalulateFines_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalulateFines.Click
'Clayton I am have much problems with this code.
'When I use this code it works fine as long as there is an input.
'But when there is no input it brings up an exception form when I debug.
'So I tryed this try It keeps the program from crashing but also,
'gives no output when there is an input
REM Try
Dim sum As Double

sum = CDbl(TxtListNumBooks.Text) * 0.1 * CDbl(TxtListNumDaysLate.Text)

REM Catch ex As Exception
REM Dim sum As DialogResult

REM sum = 0.0

LblShowFines.Text = "Your total fine is: " & CStr(FormatCurrency(sum))
LblShowFines.BorderStyle = BorderStyle.FixedSingle
MsgBox("Warning if your debt is not payed promptly, Then it will be turned over to the StrongArmCollectionAgency.", , "Consolation")

REM End Try

End Sub

Edited by Jblake00

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted

Look again at the code I gave you above. :) You could also consider using Double.Parse() instead of CDbl().

 

As for displaying an error when the fines are $25 or more, use an if statement.

 

Now that I keep reading this, it seems more and more like a class assignment (is it?). In this case, I don't want to help too much, as giving you the right answers would defeat the purpose of learning. :)

Gamer extraordinaire. Programmer wannabe.
Posted

The problem is solved.

Here is the solution.

  
   Private Sub BtnCalulateFines_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalulateFines.Click
       REM this button is used to do all the calculations 
       Dim sum As Double
       If TxtListNumBooks.Text = "" Then
           TxtListNumBooks.Text = "0"
       End If
       If TxtListNumDaysLate.Text = "" Then
           TxtListNumDaysLate.Text = "0"
       End If
       sum = CDbl(TxtListNumBooks.Text) * 0.1 * CDbl(TxtListNumDaysLate.Text)
       LblShowFines.Text = "Your total fine is:   " & CStr(FormatCurrency(sum))
       LblShowFines.BorderStyle = BorderStyle.FixedSingle
       'This is the code used to make a popup message appear when the fine is more than $1.50
       If (sum > "1.5") Then

           MsgBox("Warning if your debt is not payed promptly, Then it will be turned over to the StrongArmCollectionAgency.", , "Consolation")
       End If
       If (sum < "1.49") Then


           LlbThankYou.Text = "Thanks for your prompt payment"

       End If
   End Sub    

I think Mutant was telling me basically what to do but I could quite grasp it at the time. And you too are right wyrd, I need to do some further reading. And that thing about catching an exception is very interesting, although it wasn't quite what I was looking for. But it may help me with something later on.

Also as I said I try very hard to come up with the solution before I ask for help here.

But if I can not get help when I need it, then I will become discusted and that is not a good thing.

Thanks again for your input.

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
Actually, the error checking I gave you is needed. Try entering a non-numeric value (ie; letters) into your TxtListNumBooks and see what happens.
Gamer extraordinaire. Programmer wannabe.
Posted

Ok I will try it later, but first I got to reveiw for a test on chapter 3.

Which I am hopeing to ace. Then I have to read on in the book an try to comprehend the idea behind the code you are giveing me.

I have seen an example similar to what you give me.

Looking to expand my VB.Net knowledge.

 

Jblake00

Posted
Ah.. well if you haven't gotten to error checking yet then don't worry, you'll get there eventually.
Gamer extraordinaire. Programmer wannabe.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...