Help!!!, need information today (phonetic time)

help

Member
Joined
May 1, 2006
Messages
7
Programming Experience
Beginner
Hey
I need to make a programme but i don't know how to make it. It is an Visual basic.net apllication that tells the user time (in words e.g. it's seventeen minutes to three and in 12 -hour format) and there should be everyday natural phrases in the time e.g. "nine minutes past five", "quarter to seven", "half past eight" etc.(using strings possibly).

Also each minute it changes it gives some useful advice (advice.txt) e.g. it's seventeen minutes (time) to three, better get the kids into bed.(advice) (you can make one or two so i know how to do it). Send this information to me today on my e-mail addy (bilal_rulz_2003@hotmail.com) or post it on this forumn.
(i am an ebay seller so i may send you money or a gift of some sort for your help)
Thanx.
 
what i would do is make a function that would return a string and in this function use a select case method to determin the time and return the correct string

fyi this is going to be tedious

here's an example of what i'm talking about:
VB.NET:
    Friend Function ReturnTimeString() As String
        Select Case Now.ToShortTimeString
            Case "7:01 PM", "7:01 AM" : Return "One Past Seven"
            Case "7:02 PM", "7:02 AM" : Return "Two Past Seven"

            Case "7:15 PM", "7:15 AM" : Return "Quarter Past Seven"

            Case "7:45 PM", "7:45 AM" : Return "Quarter To Eight"
        End Select
    End Function

of course you'd have to fill in all the rest of them in the function, but to use this function simply call it when assigning it to the label or statusbar panel that will display it:
VB.NET:
Me.Label1.Text = ReturnTimeString()
 
another option: just need to complete the translateNumber function and add your special messages in at the correct spots, like the example message I provided:
VB.NET:
Public Class Form1
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim iMinute As Integer = DateTime.Now.Minute
        Dim sFormat As String = "h "
        Dim sMessage As New System.Text.StringBuilder
        Select Case iMinute
            Case 0
                sMessage.Append(translateNumber(DateTime.Now.Hour.ToString(sFormat))).Append(" o'clock")
            Case 1 To 14, 16 To 29
                sMessage.Append(translateNumber(iMinute)).Append(" past ").Append(translateNumber(DateTime.Now.Hour.ToString(sFormat)))
            Case 15
                sMessage.Append("quarter past ").Append(translateNumber(DateTime.Now.Hour.ToString(sFormat)))
            Case 30
                sMessage.Append("half past ").Append(translateNumber(DateTime.Now.Hour.ToString(sFormat)))
                Select Case DateTime.Now.Hour
                    Case 12
                        sMessage.Append(ControlChars.CrLf).Append("Lunch is over... back to work!")
                End Select
            Case 31 To 44, 46 To 59
                sMessage.Append(translateNumber(60 - iMinute)).Append(" to ").Append(translateNumber(DateTime.Now.AddHours(1).ToString(sFormat)))
            Case 45
                sMessage.Append("quarter to ").Append(DateTime.Now.AddHours(1).Hour.ToString(sFormat))
        End Select
 
        Me.Label1.Text = sMessage.ToString
        Application.DoEvents()
    End Sub
    Private Function translateNumber(ByVal iNum As Integer) As String
        Dim sReturn As String = ""
        Select Case iNum
            Case 0
                sReturn = "zero"
            Case 1
                sReturn = "one"
            Case 2
                sReturn = "two"
            Case 3
                sReturn = "three"
            Case 4
                sReturn = "four"
            Case 5
                sReturn = "five"
            Case 6
                sReturn = "six"
            Case 7
                sReturn = "seven"
            Case 8
                sReturn = "eight"
            Case 9
                sReturn = "nine"
            Case 10
                sReturn = "ten"
            Case 11
                sReturn = "eleven"
            Case 12
                sReturn = "twelve"
            Case 13
                sReturn = "thirteen"
            Case 14
                sReturn = "fourteen"

            Case Else
                sReturn = CStr(iNum)
        End Select
        Return sReturn
    End Function
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.Timer1.Start()
    End Sub
End Class
 
Back
Top