|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Visual Basic Helper
Routines Pure VB: Fill a Combo with Specified Time Intervals |
||
Posted: | September 16, 2002 | |
Updated: | Monday December 26, 2011 | |
Applies to: | VB4-32, VB5, VB6 | |
Developed with: | VB6, Windows XP | |
OS restrictions: | None | |
Author: | Newsgroup contributors | |
Related: |
Pure VB: Methods to Determine the Last Day of the Month Pure VB: Methods to Determine Number of Days in a Month Pure VB: Determining Leap Years VarMonthName: Retrieve Localized Month Names VarWeekdayName: Retrieve Localized Weekday Names |
|
Prerequisites |
None. |
|
A routine to populate a combo box with a full day of times at the specified time intervals. As coded, any interval between 1 and 60 minutes is accommodated - the illustration shows several popular ones. In addition, by specifying vbShortDate or vbLongDate, you can tailor the presentation of the dates. |
BAS Module Code |
None. |
|
Form Code |
Toss a command button six combos on a form (Combo1-Combo6), and add the following code: |
|
Option Explicit '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Copyright ©1996-2011 VBnet/Randy Birch, All Rights Reserved. ' Some pages may also contain other copyrights by the author. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Distribution: You can freely use this code in your own ' applications, but you may not reproduce ' or publish this code on any web site, ' online service, or distribute as source ' on any media without express permission. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub Form_Load() Command1.Caption = "Fill" End Sub Private Sub Command1_Click() FillComboTimes Combo1, 5, vbShortTime FillComboTimes Combo2, 10, vbShortTime FillComboTimes Combo3, 15, vbShortTime FillComboTimes Combo4, 20, vbShortTime FillComboTimes Combo5, 30, vbShortTime FillComboTimes Combo6, 60, vbShortTime End Sub Private Sub FillComboTimes(cbo As ComboBox, _ period As Long, _ fmt As VbDateTimeFormat) Dim cnt As Long Dim t As Date If period < 1 Or period > 60 Then Exit Sub With cbo .Clear For cnt = 1 To (24 * (60 \ period)) t = t + DateAdd("n", period, 0) .AddItem FormatDateTime(t, fmt) Next .ListIndex = 0 End With End Sub |
Comments |
VB versions not supporting the FormatDateTime method should use
: cbo.AddItem Format$(t, fmt) instead. In addition, change the definition of fmt from As Long to As String, and pass the appropriate format$-compatible time format, ie "short time" or "long time" (to get the am pm designations). |
|
|
|
|||||
|
|||||
|
|||||
Copyright ©1996-2011 VBnet and Randy Birch. All Rights Reserved. |