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


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.

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]

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.