1,105,416 Community Members

Array

Member Avatar
ynnar777
Newbie Poster
1 post since May 2003
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

I'm new with VB and I'm trying to write an array to find the time zone per state.


AL = CST
NY = EST
CA = PST

If I have a data that has NY as a state I will put EST on the output ...]

Can somebody sho me the basic of array writing.

Member Avatar
Dani
The Queen of DaniWeb
20,571 posts since Feb 2002
Reputation Points: 1,356 [?]
Q&As Helped to Solve: 931 [?]
Skill Endorsements: 204 [?]
Administrator
Featured
Sponsor
 
0
 

This is untested, but something like this might work

string timeZone[3], state, zone
timeZone[0] = "CST"
timeZone[1] = "EST"
timeZone[2] = "PST"

if state="AL" then zone=timeZone[0]
if state="NY" then zone=timeZone[1]
if state="CA" then zone=timeZone[2]
Member Avatar
Tekmaven
Software Architect
937 posts since Feb 2002
Reputation Points: 258 [?]
Q&As Helped to Solve: 29 [?]
Skill Endorsements: 27 [?]
Team Colleague
 
0
 

Close Dani :-), but this isn't C/Java :-P.

First of all, I'm assuming your using VB6. If you're not, tell me what VB version you're using and I'll adjust the code.

A better way of implimenting this, is to add a Class Module. I named my class module clsStateTime, and this is the code inside it:

Public state As String

Public Function TimeZone() As String
    Select Case UCase(state)
        Case "NY"
            TimeZone = "EST"
        Case "NJ"
            TimeZone = "EST"
        Case Else
            TimeZone = "Unknown"
    End Select
End Function

You should fill in the other 50 states with the results you want. To use this class, I made this code under a command button (but, you could do it however you want):

Private Sub Command1_Click()
    'The index holds the amount of values you want to put in the array
    Dim stinfo(3) As New clsStateTime
    stinfo(0).state = "nj"
    stinfo(1).state = "ny"
    stinfo(2).state = "asdf"
    MsgBox (stinfo(0).TimeZone)
    MsgBox (stinfo(1).TimeZone)
    MsgBox (stinfo(2).TimeZone)
End Sub

Just as a note, the index is the number in between the ()!

Dani, notice how I Dim'ed it with a (2), but I used 3 "slots" in the array? Thats another VB difference :-P. Oh yeah, we don't dim vars with the type first either :-P.

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article