• 0

VB 2010 Homework Question


Question

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!

Link to comment
https://www.neowin.net/forum/topic/1134522-vb-2010-homework-question/
Share on other sites

10 answers to this question

Recommended Posts

  • 0

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!

  • 0

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
[/CODE]

  • 0

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....

  • 0

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.healthandhometopics.com/2011/07/visual-basic-7-light-bulb-project/

  • 0
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.
  • 0

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.EventArgs) Handles LightOnPictureBox.Click

' Turn the light on.

MessageBox.Text = "Turn the light off, " & NameTextBox.Text

LightOffPictureBox.Visible = True

LightOnPictureBox.Focus()

End Sub

Private Sub LightOffPictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LightOffPictureBox.Click

' Turn the light off.

MessageBox.Text = "Turn the light on, " & NameTextBox.Text

LightOnPictureBox.Visible = False

LightOffPictureBox.Focus()

End Sub

End Class

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Interesting image choice... reminds me of the human centipede poster
    • Get $50 of aloSIM Mobile Data Traveler eSim credit for just $24.97 by Steven Parker Today's highlighted deal comes via our Apps + Software section of the Neowin Deals store, where you can save 50% off aloSIM Mobile Data Traveler Lifetime eSim Credit: Pay $24.97 for $50. Stay connected affordably in 120+ countries/regions with your own lifetime eSIM! An eSIM is a digital SIM card. It's basically just mobile data. Once it's activated on your device, it can connect you to data networks in other countries – giving you an internet connection with NO roaming charges. With aloSIM, you can load prepaid eSIM data packages onto your phone, tablet, or computer. Your lifetime eSIM never expires, so it's yours forever and there are never any monthly charges. You'll get $50 in eSIM data credit, which is almost always enough to cover all your data roaming needs for a full year. But if you run out of data, you can always top up your lifetime eSIM and stay connected internationally. Pay $24.97 for a lifetime eSIM with $50 in travel data credit Use your eSIM to join data networks in 120+ countries Install your lifetime eSIM on a compatible device to roam on local data networks Your lifetime eSIM never expires, and can be topped up with more data anytime Many data packages cost as little as $4.50 and last 7 days. Depending on the package you choose, the length of time varies. Good to know Length of access: lifetime For NEW customers only Instant digital redemption Once you add your $50 credit to your aloSim account you have up to 12-months to use it — after that your credit will expire When you pay for a data plan you also get a free phone number (via Hushed) for the same duration of your plan that was purchased - IE 7 day eSim plan gives you a free 7-day phone number Purchased coupon must be redeemed and used within 12 months This deal is not stackable (one offer per aloSIM account) A $4.50 data package will last 7 days The data DOES expire, and you WILL NOT have any leftover data for your next trip unless it takes place within the validity period. While the eSIM never expires, the actual data package is only valid for the length of time stated at purchase (i.e. seven days after activation, 30 days after activation, etc.) So if you buy a seven-day package and only use a tiny bit, that package is still going to expire after seven days. Access options: mobile (check compatibility) Max number of device(s): 1 Updates included Here's the deal: This aloSIM Mobile Data Traveler eSim $50 Credit normally costs ... $50, but it can be yours for just $24.97 for a limited time, a saving of $25 (50% off). For specifications, and license info please click the link below. Get this aloSIM Mobile Data Traveler eSim for just $24.97 (was $50) Although priced in U.S. dollars, this deal is available for digital purchase worldwide. Support queries If you have queries or need support for any of the Neowin Deals, please use the contact form here. Neowin Deals are managed and sold by StackCommerce who represent Neowin on an affiliate basis. Why we post these deals We post these because we earn commission on each sale so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. So for those that keep moaning and complaining, be thankful we're still online for you to even do that. Other ways to support Neowin Whitelist Neowin by not blocking our ads Create a free member account to see fewer ads Make a donation to support our day to day running costs Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: Neowin benefits from revenue of each sale made through our branded deals site powered by StackCommerce.
    • WordArt was cool. We now have color fonts as a substitute although Word only supports COLRv0 and COLRv1 (Fraud OS 11 only). The OpenType SVG color font format needs to be supported by Office. Adobe's apps support it
  • Recent Achievements

    • First Post
      DrWankel earned a badge
      First Post
    • Reacting Well
      DrWankel earned a badge
      Reacting Well
    • Week One Done
      Supreme Spray LV earned a badge
      Week One Done
    • One Month Later
      Genuinetonerink- Dubai earned a badge
      One Month Later
    • Week One Done
      Genuinetonerink- Dubai earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      497
    2. 2
      +Edouard
      158
    3. 3
      PsYcHoKiLLa
      90
    4. 4
      Steven P.
      74
    5. 5
      Michael Scrip
      72
  • Tell a friend

    Love Neowin? Tell a friend!