Jump to content



Photo

VB 2010 Homework Question


  • Please log in to reply
10 replies to this topic

#1 nytiger73

nytiger73

    Neowinian

  • Joined: 28-June 03
  • Location: Buffalo, NY

Posted 03 February 2013 - 22:31

Hey Everyone -

I am taking an intro class to VB and we are working on the Light Bulb project (some of you may have heard of it). Essentially the way it works is you click on a picture of a light bulb to "turn it on" and you get a message that tell you to turn it off, so you click it again to turn it off and the process restarts. It's setup so that you can change the color of the output text (which I have working) and I also have the concatenation working, but not tied to the light bulb yet.

Unfortunately, the text book for this course is EXTREMELY vague with respect to the project, so if you're stuck; like me, well, you're on your own. I've done some Google searches and I found a blog from someone who did this project, but their code in my opinion is less than stellar, it just doesn't make sense because it appears that some of the methods she used, we haven't learned yet.

Anyway, on to my problem. I have the light bulb working (sort of). When I run the program within VB to debug the program starts with the light off, which is what it's supposed to do, you can click it again and it turns on, which is what it's supposed to do, however, when you click it again to turn it back off, it just disappears completely and you can't get it back without exiting and re-running the project. I know it's something I'm missing in the code (obviously), but what it is that I am missing, I haven't a clue. I've read the chapter backwards and forwards and I'm not seeing what I am missing. I am sure it's mentioned, but probably only in passing or in a very small paragraph. It mentioned concatenation in this manner, I had to figure it out by trial and error.

Is anyone familiar with this project or program? I don't have it with me currently, but I can email it (or attach it to this post) to whomever might be willing to help me out if you need to see the project or code. We haven't gotten into If, then, else statements or anything like that, so I'm pretty sure there is another method to get this working correctly.

Any help anyone can provide would be greatly appreciated.

Thanks!


#2 Kalint

Kalint

    Neowinian Senior

  • Tech Issues Solved: 2
  • Joined: 16-January 07

Posted 03 February 2013 - 22:41

Hey Everyone -

I am taking an intro class to VB and we are working on the Light Bulb project (some of you may have heard of it). Essentially the way it works is you click on a picture of a light bulb to "turn it on" and you get a message that tell you to turn it off, so you click it again to turn it off and the process restarts. It's setup so that you can change the color of the output text (which I have working) and I also have the concatenation working, but not tied to the light bulb yet.

Unfortunately, the text book for this course is EXTREMELY vague with respect to the project, so if you're stuck; like me, well, you're on your own. I've done some Google searches and I found a blog from someone who did this project, but their code in my opinion is less than stellar, it just doesn't make sense because it appears that some of the methods she used, we haven't learned yet.

Anyway, on to my problem. I have the light bulb working (sort of). When I run the program within VB to debug the program starts with the light off, which is what it's supposed to do, you can click it again and it turns on, which is what it's supposed to do, however, when you click it again to turn it back off, it just disappears completely and you can't get it back without exiting and re-running the project. I know it's something I'm missing in the code (obviously), but what it is that I am missing, I haven't a clue. I've read the chapter backwards and forwards and I'm not seeing what I am missing. I am sure it's mentioned, but probably only in passing or in a very small paragraph. It mentioned concatenation in this manner, I had to figure it out by trial and error.

Is anyone familiar with this project or program? I don't have it with me currently, but I can email it (or attach it to this post) to whomever might be willing to help me out if you need to see the project or code. We haven't gotten into If, then, else statements or anything like that, so I'm pretty sure there is another method to get this working correctly.

Any help anyone can provide would be greatly appreciated.

Thanks!


Paste the code!

#3 James Rose

James Rose

    Software Developer

  • Tech Issues Solved: 1
  • Joined: 20-January 04
  • Location: New York City

Posted 03 February 2013 - 23:16

This will give you an infinite loop of on then off
Dim x as integer
x = 1
Do until x = 2 'Notice that the variable never changes
    LightBulb.Visiible = Not LightBulb.visible  'Assuming the "Light Bulb" is a control such as a image
    MessageBox.Show("Click to change light")
Loop


#4 Fahim S.

Fahim S.

    Neowinian Senior

  • Tech Issues Solved: 2
  • Joined: 15-April 02
  • OS: Windows 8 - OG
  • Phone: Google Nexus 4 16GB by LG

Posted 03 February 2013 - 23:45

You sure that code works at all?

Visible is spellt visiible at the beginning (two i's after the s).
Why are you changing the visibility of the control?
Surely you want to change the image it shows instead.

Lastly, forms based applications are event based, and an infinite loop is a bad idea....

#5 pes2013

pes2013

    Neowinian

  • Joined: 24-September 12

Posted 03 February 2013 - 23:49

So let me get this straight:

There is a picture of a light blub.
You click it and it "turns on"
A message pops up saying dont forget to turn it off
You click it again and it "turns off"?

This can be done in about 10 minutes

#6 OP nytiger73

nytiger73

    Neowinian

  • Joined: 28-June 03
  • Location: Buffalo, NY

Posted 04 February 2013 - 01:19

pes2013 - 10 minutes for you perhaps. Understand that I am a beginner and am just starting out, so some actual help would be appreciated if you can provide it. This class I am taking assumes no prior knowledge of programming. I have very little with the exception of some Access databases that I wrote.

Kalint - I'll paste my code when I get near my computer. I've included the link to the what the project should do below. When you see my code, it is not complete, so you will see some issues with it. But most of the stuff is working with the exception of the light bulb not working as intended and the text not displaying when you click on the bulb. But I haven't programmed that part into it yet.

The way it works is there are two picture boxes one on top of the other. One box shows the bulb off, the other shows it on. So when you click on it repeatedly, it makes it look like it's turning on and off. And then when clicking it a message displays. Basically turning the light off gives a message that tell you to turn it on and vice versa. The problem is when I try to go from on to off, the control disappears completely. As I said, the book is VERY vague in my opinion.

Here is a link to what it does. This is the link I mentioned in my OP. Her code is a little messy, which I am assuming is the result of the website trying to format it in a way that it's not supposed to and because of that I am having trouble picking out the relevant pieces to get this working right. But this is the actual project.

http://www.healthand...t-bulb-project/

#7 Kalint

Kalint

    Neowinian Senior

  • Tech Issues Solved: 2
  • Joined: 16-January 07

Posted 04 February 2013 - 02:12

You could do:


If (Bulb = "Off") Then
Bulb = "On"
Else
Bulb = "Off"
End If

#8 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 12
  • Joined: 26-October 05

Posted 04 February 2013 - 03:17

The way it works is there are two picture boxes one on top of the other. One box shows the bulb off, the other shows it on. So when you click on it repeatedly, it makes it look like it's turning on and off. And then when clicking it a message displays. Basically turning the light off gives a message that tell you to turn it on and vice versa. The problem is when I try to go from on to off, the control disappears completely. As I said, the book is VERY vague in my opinion.

The issue is probably that the "On" picture box is set to invisible, but the "Off" picture box is not set back to visible, so none of them display.

#9 OP nytiger73

nytiger73

    Neowinian

  • Joined: 28-June 03
  • Location: Buffalo, NY

Posted 04 February 2013 - 06:10

Here is my code. I almost have it. Now I have the light turning on, but it won't turn off and I have the text properly displaying with the light.

' Project: The Clicker
' Programmer: Me
' Date: February 2, 2013
' Description: Allows the user to click on a light bulb and display user specific messaging.
Public


Class MainForm


Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintButton.Click


' Print the form in the Print Preview window.
PrintForm1.PrintAction = Printing.PrintAction.PrintToPreview
PrintForm1.Print()


End Sub


Private Sub ExitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitButton.Click


' End the program.


Me.Close()


End Sub


Private Sub NameTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NameTextBox.TextChanged


' Concatenate user name in the message box.
MessageBox.Text = "Turn the light on, " & NameTextBox.Text


End Sub


Private Sub BlackRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BlackRadioButton.CheckedChanged


' Change the text color to black.
MessageBox.ForeColor = Color.Black


End Sub


Private Sub BlueRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BlueRadioButton.CheckedChanged


' Change the text color to blue.
MessageBox.ForeColor = Color.Blue


End Sub


Private Sub RedRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RedRadioButton.CheckedChanged


' Change the text color to red.
MessageBox.ForeColor = Color.Red


End Sub


Private Sub GreenRadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GreenRadioButton.CheckedChanged


' Change the text color to green.
MessageBox.ForeColor = Color.Green


End Sub


Private Sub LightOnPictureBox_Click(ByVal sender As System.Object, ByVal e As System.[font="Consolas"][size="2"]EventArgs[/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"]) [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Handles[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] LightOnPictureBox.Click[/size][/font][/size][/font]


[font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]' Turn the light on.[/size][/font][/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]MessageBox.Text = [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]"Turn the light off, "[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] & NameTextBox.Text[/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]LightOffPictureBox.Visible = [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]True[/size][/font][/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]LightOnPictureBox.Focus()[/size][/font][/size][/font]


[font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]End[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Sub[/size][/font][/size][/font][/size][/font]


[font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Private[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Sub[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] LightOffPictureBox_Click([/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]ByVal[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] sender [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]As[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] System.[/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Object[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"], [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]ByVal[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] e [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]As[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] System.[/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]EventArgs[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"]) [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Handles[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] LightOffPictureBox.Click[/size][/font][/size][/font]


[font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]' Turn the light off.[/size][/font][/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]MessageBox.Text = [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]"Turn the light on, "[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] & NameTextBox.Text[/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]LightOnPictureBox.Visible = [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]False[/size][/font][/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]LightOffPictureBox.Focus()[/size][/font][/size][/font]


[font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]End[/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] [/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Sub[/size][/font][/size][/font][/size][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]End [/size][/font][/size][/font][/size][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][font="Consolas"][size="2"]Class[/size][/font][/size][/font][/size][/font]

#10 Kalint

Kalint

    Neowinian Senior

  • Tech Issues Solved: 2
  • Joined: 16-January 07

Posted 04 February 2013 - 15:18

Can't you just have another radio with light off?

#11 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 12
  • Joined: 26-October 05

Posted 05 February 2013 - 01:20

Please post your code as plain text and in code tags, i.e.

code goes here