Календарь

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Илья Никитин
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 01.08.2004 (Вс) 10:50

Календарь

Сообщение Илья Никитин » 01.08.2004 (Вс) 19:58

Вобщем я делаю Календарик вот его скрипт
Код: Выделить всё
Dim xday As Long
Dim xmonth As Long

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = Asc("Q") Then
End
End If
End Sub

Private Sub Form_Load()
xday = Weekday(Date, vbMonday)
If xday = 1 Then
Label1.Caption = "Понедельник"
End If
If xday = 2 Then
Label1.Caption = "Вторник"
End If
If xday = 3 Then
Label1.Caption = "Среда"
End If
If xday = 4 Then
Label1.Caption = "Четверг"
End If
If xday = 5 Then
Label1.Caption = "Пятница"
End If
If xday = 6 Then
Label1.Caption = "Суббота"
End If
If xday = 7 Then
Label1.Caption = "Воскресенье"
End If

xmonth = Mid(Date, 4, 2)
If xmonth = 1 Then
Label3.Caption = "Январь"
End If
If xmonth = 2 Then
Label3.Caption = "Февраль"
End If
If xmonth = 3 Then
Label3.Caption = "Март"
End If
If xmonth = 4 Then
Label3.Caption = "Апрель"
End If
If xmonth = 5 Then
Label3.Caption = "Май"
End If
If xmonth = 6 Then
Label3.Caption = "Июнь"
End If
If xmonth = 7 Then
Label3.Caption = "Июль"
End If
If xmonth = 8 Then
Label3.Caption = "Август"
End If
If xmonth = 9 Then
Label3.Caption = "Сентябрь"
End If
If xmonth = 10 Then
Label3.Caption = "Октябрь"
End If
If xmonth = 11 Then
Label3.Caption = "Ноябрь"
End If
If xmonth = 12 Then
Label3.Caption = "Декабрь"
End If
Label2.Caption = Left(Date, 2)
Label4.Caption = 2000 + Mid(Date, 7, 2) это год как сделать так чтобы писал не 04
End Sub

Кто может покажите ошибки плиииз!

DmitriyIT
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 01.08.2004 (Вс) 13:16

Сообщение DmitriyIT » 01.08.2004 (Вс) 22:09

Небольшой комментарий - вместо xmonth = Mid(Date, 4, 2) и длинного условия If можно просто сразу писать Label3.Caption = MonthName(Month(Date), False);аналогично для года оператор YearName и для дня WeekDayName - эти операторы подставляют название по номеру.

Таким образом код:

Код: Выделить всё
Private Sub Form_Load()
Label1.Caption = WeekdayName(Weekday(Date, vbMonday), False)
Label3.Caption = MonthName(Month(Date), False)
Label2.Caption = Left(Date, 2)
Label4.Caption = Year(Date)
End Sub


И все! Это намного удобнее и быстрее, чем предложенный здесь длинный код, плюс здесь преимущество - названия локализованы в Windows, т.е. русский пользователь увидит русские названия, английский - английские...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 17

    TopList  
cron