![]() |
VB Phone Number to Name...
I'm doing a problem out of a book I'm self-teaching with, and this particular problem calls for converting a 7 digit phone number into the different combinations of words that can be made from 3 characters corresponding to each of the numbers from 2-9. The code I have so far for this is:
Public Class Form1 Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click Dim phoneNumber As String = txtNumber.Text Dim charNumber2() As Char = {"A", "B", "C"} Dim charNumber3() As Char = {"D", "E", "F"} Dim charNumber4() As Char = {"G", "H", "I"} Dim charNumber5() As Char = {"J", "K", "L"} Dim charNumber6() As Char = {"M", "N", "O"} Dim charNumber7() As Char = {"P", "R", "S"} Dim charNumber8() As Char = {"T", "U", "V"} Dim charNumber9() As Char = {"W", "X", "Y"} Dim numberArray(7) As Char For i As Integer = 0 To 6 numberArray(i) = phoneNumber.Substring(i) Next Dim letters1(3) As Char Dim letters2(3) As Char Dim letters3(3) As Char Dim letters4(3) As Char Dim letters5(3) As Char Dim letters6(3) As Char Dim letters7(3) As Char Select Case numberArray(1) Case Is = "2" For k As Integer = 0 To 2 letters1(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters1(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters1(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters1(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters1(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters1(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters1(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters1(k) = charNumber9(k) Next End Select Select Case numberArray(2) Case Is = "2" For k As Integer = 0 To 2 letters2(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters2(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters2(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters2(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters2(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters2(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters2(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters2(k) = charNumber9(k) Next End Select Select Case numberArray(3) Case Is = "2" For k As Integer = 0 To 2 letters3(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters3(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters3(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters3(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters3(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters3(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters3(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters3(k) = charNumber9(k) Next End Select Select Case numberArray(4) Case Is = "2" For k As Integer = 0 To 2 letters4(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters4(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters4(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters4(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters4(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters4(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters4(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters4(k) = charNumber9(k) Next End Select Select Case numberArray(5) Case Is = "2" For k As Integer = 0 To 2 letters5(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters5(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters5(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters5(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters5(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters5(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters5(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters5(k) = charNumber9(k) Next End Select Select Case numberArray(6) Case Is = "2" For k As Integer = 0 To 2 letters6(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters6(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters6(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters6(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters6(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters6(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters6(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters6(k) = charNumber9(k) Next End Select Select Case numberArray(7) Case Is = "2" For k As Integer = 0 To 2 letters7(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters7(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters7(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters7(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters7(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters7(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters7(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters7(k) = charNumber9(k) Next End Select For a As Integer = 0 To 2 For b As Integer = 0 To 2 For c As Integer = 0 To 2 For d As Integer = 0 To 2 For z As Integer = 0 To 2 For f As Integer = 0 To 2 For g As Integer = 0 To 2 txtNames.Text += letters1(a) + letters2(b) + letters3(c) + letters4(d) + letters5(z) + letters6(f) + letters7(g) txtNames.Text &= vbTab Next Next Next Next Next Next Next End Sub End Class I know that the case structures could have been condensed into one, but I was trying to minimize the memory usage and processing time. My problem is this: Instead of outputing - abcdefg...abcdefh...abcdefi - it will output - abcdefg...abcdefg...abcdefg -, repeating the same combination three times before moving on to the next combination. Anyone know why? P.S.-- I know this code may be terribly written, so any suggestions for improving the code for better memory usage, etc. would be appreciated. |
Please read the forum's rules/FAQ and the "How to Post a Question" thread. Things like that should come before your first post.
|
The goggles... they do nothing!
In all seriousness, I recommend listening to DaWei, especially when it comes to the part in the rules about [code] tags. |
Would there be no way to create a mod/simple regx for VBul that puts code into code tags :-/
|
I would suggest that a person seeking free, contributory help could politely aid the process by reading faqs, rules, and "How to Post" threads.
|
Aye, I get that, any question [as far as i know] I have ever come here to seek answers for has been properly formed and asked in the best way I possibly could.
It was just a suggestion that may, or may not make peoples lives easier :-) Thanks Kieran. |
It isn't terribly difficult or time-consuming to type "[ code ][ /code ]"; particulary when you parcel it out among the questioners, rather than require the administrator to revise the software package. Perhaps there's some truth to the recent research that suggests a significant percentage of younger generations have an undue sense of entitlement. Not every thing in life comes "easier" or on a gilded platter. On the other hand, perhaps here's the chance to go write a code-bot to replace budding code-monkeys. What could be easier than standing in the unemployment line.
|
While I agree with most of what you said, I personally disagree with the last part about younger generations expecting everything for nothing, I'm 17 and live in the UK, i messed up high school for personal reasons and as a result I'm working my ass off (both in a job and in college) trying to better myself and put myself in a situation where i can contribute to society rather than leech, as are many of my friends.
Have their not been lazy people in all generations? Just because there are a few lazy, leeching, idiots that aren't worth the oxygen they intake doesn't mean to say we all [or as a majority] are. Just my two cents. Thanks. ;) |
I would never maintain that all young people are lazy. There are too many exceptions right here on this board. I also can't substantiate the second-hand report of the study I recently saw, which is why I used the word, 'perhaps'. I can, however, observe tendencies for myself, and draw reasonable conclusions.
|
In that case, i fully agree with you.
About my previous post, i suggested the mod as a possible solution to people who didn't read the rules before posting (many don't, as most forum rules are generic, at best) it wasn't to help the lazy be lazier, looking back, yeah, i agree, they should read the rules and do their best to make a question understandable. Thanks. |
| All times are GMT -5. The time now is 9:49 PM. |
Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC