2024-06-14 10:35:46 +02:00
|
|
|
|
; program data
|
|
|
|
|
|
|
|
|
|
curMonth dd ?
|
|
|
|
|
curYear dd ?
|
|
|
|
|
curDay dd ?
|
|
|
|
|
|
|
|
|
|
remainder dd ?
|
|
|
|
|
quotient dd ?
|
|
|
|
|
|
|
|
|
|
firstday dd ?
|
|
|
|
|
Year dd ?
|
|
|
|
|
Month dd ?
|
|
|
|
|
day_sel dd ?
|
|
|
|
|
|
|
|
|
|
datestr dd ?
|
|
|
|
|
leap_year dd ?
|
|
|
|
|
number dd ?
|
|
|
|
|
|
|
|
|
|
; colors
|
|
|
|
|
COL_WINDOW_BG equ 0x54E7E7E7
|
|
|
|
|
COL_TOOLBAR_BG equ 0x555555
|
|
|
|
|
COL_ACTIVE_TEXT equ 0x10e7c750
|
|
|
|
|
COL_WEEKDAY_BG equ 0xCCCDDD
|
|
|
|
|
COL_DATE_BUTTONS equ 0xF3F3F3
|
|
|
|
|
COL_TIME_BUTTONS equ 0x5555dd
|
|
|
|
|
COL_GO_TODAY_T equ 0xd048c8
|
|
|
|
|
COL_MONTH_YEAR_B equ 0x555555
|
|
|
|
|
COL_DROPDOWN_BG equ 0x666666
|
|
|
|
|
COL_DROPDOWN_T equ 0x10CCCccc
|
|
|
|
|
COL_NEW_STYLE_T equ 0xef3333
|
|
|
|
|
|
|
|
|
|
COL_DATE_INACTIVE_1 equ 0x388CAF
|
|
|
|
|
COL_DATE_INACTIVE_2 equ 0x75B9D5
|
|
|
|
|
COL_DATE_INACTIVE_3 equ 0x9ECBDF
|
|
|
|
|
COL_DATE_INACTIVE_4 equ 0xABD7E8
|
|
|
|
|
|
|
|
|
|
COL_DATE_ACTIVE_1 equ 0xA57F2C
|
|
|
|
|
COL_DATE_ACTIVE_2 equ 0xEFB52D
|
|
|
|
|
COL_DATE_ACTIVE_3 equ 0xFAD84C
|
|
|
|
|
COL_DATE_ACTIVE_4 equ 0xFAE995
|
|
|
|
|
|
|
|
|
|
COL_DATE_1 equ 0x8C8C8C
|
|
|
|
|
COL_DATE_2 equ 0xFFFfff
|
|
|
|
|
COL_DATE_3 equ 0xF2F2F2
|
|
|
|
|
COL_DATE_4 equ 0xF2F2F2
|
|
|
|
|
|
|
|
|
|
; definitions
|
|
|
|
|
WIN_W equ 275
|
|
|
|
|
WIN_H equ 326
|
|
|
|
|
|
|
|
|
|
DATE_BUTTON_WIDTH equ 32
|
|
|
|
|
DATE_BUTTON_HEIGHT equ 30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LINE1 equ 27 shl 16+16
|
|
|
|
|
B_MONTH_X equ 15 shl 16+158
|
|
|
|
|
B_Y equ LINE1
|
|
|
|
|
B_MONTH equ 63 shl 16+27
|
|
|
|
|
|
|
|
|
|
BT_WBAR_Y equ 283 shl 16+43
|
|
|
|
|
|
|
|
|
|
B_WBAR_X equ 1 shl 16+WIN_W-1
|
|
|
|
|
B_WBAR_Y equ 64 shl 16+20
|
|
|
|
|
B_WEEK equ 34 shl 16+66
|
|
|
|
|
B_WX_SHIFT equ 32 shl 16
|
|
|
|
|
|
|
|
|
|
B_DROP equ B_MONTH+16
|
|
|
|
|
B_DAYS_Y equ 106
|
|
|
|
|
B_DAYS_SHIFT equ 30
|
|
|
|
|
|
|
|
|
|
B_YEAR equ 204 shl 16+28
|
|
|
|
|
|
|
|
|
|
B_SPIN_X equ 186 shl 16+12
|
|
|
|
|
B_SPIN equ 188 shl 16+28
|
|
|
|
|
spinner db '< >'
|
|
|
|
|
|
|
|
|
|
B_TODAY_X equ 25 shl 16
|
|
|
|
|
B_TODAY_Y equ 48 shl 16+10
|
|
|
|
|
B_TODAY equ 30 shl 16+50
|
|
|
|
|
|
|
|
|
|
B_NS_X equ 185 shl 16+75
|
|
|
|
|
B_NS_Y equ 48 shl 16+10
|
|
|
|
|
B_NS equ 190 shl 16+50
|
|
|
|
|
|
|
|
|
|
FOCUSABLE equ 4
|
|
|
|
|
|
|
|
|
|
day_count db 3,0,3,2,3,2,3,3,2,3,2,3
|
|
|
|
|
Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159
|
|
|
|
|
|
|
|
|
|
; Multilanguage interface - configurable in lang.inc
|
|
|
|
|
; Language support for locales: ru_RU (CP866), de_DE, fr_FR, fi_FI, et_EE, it_IT, en_US
|
|
|
|
|
|
|
|
|
|
month_name:
|
|
|
|
|
if lang eq ru_RU
|
|
|
|
|
db 8
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD>ࠫ<EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><>५<EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '
|
|
|
|
|
else if lang eq de_DE
|
|
|
|
|
db 9
|
|
|
|
|
db 'Januar '
|
|
|
|
|
db 'Februar '
|
|
|
|
|
db 'M+rz '
|
|
|
|
|
db 'April '
|
|
|
|
|
db 'Mai '
|
|
|
|
|
db 'Juni '
|
|
|
|
|
db 'Juli '
|
|
|
|
|
db 'August '
|
|
|
|
|
db 'September'
|
|
|
|
|
db 'Oktober '
|
|
|
|
|
db 'November '
|
|
|
|
|
db 'Dezember '
|
|
|
|
|
else if lang eq fr_FR
|
|
|
|
|
db 9
|
|
|
|
|
db 'Janvier '
|
|
|
|
|
db 'Fevrier '
|
|
|
|
|
db 'Mars '
|
|
|
|
|
db 'Avril '
|
|
|
|
|
db 'Mai '
|
|
|
|
|
db 'Juin '
|
|
|
|
|
db 'Juliet '
|
|
|
|
|
db 'Aout '
|
|
|
|
|
db 'Septembre'
|
|
|
|
|
db 'Octobre '
|
|
|
|
|
db 'Novembre '
|
|
|
|
|
db 'Decembre '
|
|
|
|
|
else if lang eq fi_FI
|
|
|
|
|
db 9
|
|
|
|
|
db 'Tammikuu '
|
|
|
|
|
db 'Helmikuu '
|
|
|
|
|
db 'Maaliskuu'
|
|
|
|
|
db 'Huhtikuu '
|
|
|
|
|
db 'Toukokuu '
|
|
|
|
|
db 'Kes+kuu '
|
|
|
|
|
db 'Hein+kuu '
|
|
|
|
|
db 'Elokuu '
|
|
|
|
|
db 'Syyskuu '
|
|
|
|
|
db 'Lokakuu '
|
|
|
|
|
db 'Marraskuu'
|
|
|
|
|
db 'Joulukuu '
|
|
|
|
|
else if lang eq et_EE
|
|
|
|
|
db 9
|
|
|
|
|
db 'Jaanuar '
|
|
|
|
|
db 'Veebruar '
|
|
|
|
|
db 'M<>rts '
|
|
|
|
|
db 'Aprill '
|
|
|
|
|
db 'Mai '
|
|
|
|
|
db 'Juuni '
|
|
|
|
|
db 'Juuli '
|
|
|
|
|
db 'August '
|
|
|
|
|
db 'September'
|
|
|
|
|
db 'Oktoober '
|
|
|
|
|
db 'November '
|
|
|
|
|
db 'Detsember'
|
|
|
|
|
else if lang eq it_IT
|
|
|
|
|
db 9
|
|
|
|
|
db 'Gennaio '
|
|
|
|
|
db 'Febbraio '
|
|
|
|
|
db 'Marzo '
|
|
|
|
|
db 'Aprile '
|
|
|
|
|
db 'Maggio '
|
|
|
|
|
db 'Giugno '
|
|
|
|
|
db 'Luglio '
|
|
|
|
|
db 'Agosto '
|
|
|
|
|
db 'Settembre'
|
|
|
|
|
db 'Ottobre '
|
|
|
|
|
db 'Novembre '
|
|
|
|
|
db 'Dicembre '
|
|
|
|
|
else ; Default to en_US
|
|
|
|
|
db 9
|
|
|
|
|
db 'January '
|
|
|
|
|
db 'February '
|
|
|
|
|
db 'March '
|
|
|
|
|
db 'April '
|
|
|
|
|
db 'May '
|
|
|
|
|
db 'June '
|
|
|
|
|
db 'July '
|
|
|
|
|
db 'August '
|
|
|
|
|
db 'September'
|
|
|
|
|
db 'October '
|
|
|
|
|
db 'November '
|
|
|
|
|
db 'December '
|
|
|
|
|
end if
|
|
|
|
|
week_days:
|
|
|
|
|
if lang eq ru_RU
|
|
|
|
|
db 2
|
|
|
|
|
db 1
|
|
|
|
|
db '<27><>'
|
|
|
|
|
db '<27><>'
|
|
|
|
|
db '<27><>'
|
|
|
|
|
db '<27><>'
|
|
|
|
|
db '<27><>'
|
|
|
|
|
db '<27><>'
|
|
|
|
|
db '<27><>'
|
|
|
|
|
else if lang eq de_DE
|
|
|
|
|
db 2
|
|
|
|
|
db 7
|
|
|
|
|
db 'So'
|
|
|
|
|
db 'Mo'
|
|
|
|
|
db 'Di'
|
|
|
|
|
db 'Mi'
|
|
|
|
|
db 'Do'
|
|
|
|
|
db 'Fr'
|
|
|
|
|
db 'Sa'
|
|
|
|
|
else if lang eq fr_FR
|
|
|
|
|
db 3
|
|
|
|
|
db 7
|
|
|
|
|
db 'Dim'
|
|
|
|
|
db 'Lun'
|
|
|
|
|
db 'Mar'
|
|
|
|
|
db 'Mer'
|
|
|
|
|
db 'Jeu'
|
|
|
|
|
db 'Ven'
|
|
|
|
|
db 'Sam'
|
|
|
|
|
else if lang eq fi_FI
|
|
|
|
|
db 2
|
|
|
|
|
db 7
|
|
|
|
|
db 'Su'
|
|
|
|
|
db 'Ma'
|
|
|
|
|
db 'Ti'
|
|
|
|
|
db 'Ke'
|
|
|
|
|
db 'To'
|
|
|
|
|
db 'Pe'
|
|
|
|
|
db 'La'
|
|
|
|
|
else if lang eq et_EE
|
|
|
|
|
db 3
|
|
|
|
|
db 7
|
|
|
|
|
db 'Esm'
|
|
|
|
|
db 'Tei'
|
|
|
|
|
db 'Kol'
|
|
|
|
|
db 'Nel'
|
|
|
|
|
db 'Ree'
|
|
|
|
|
db 'Lau'
|
|
|
|
|
db 'P<>h'
|
|
|
|
|
else if lang eq it_IT
|
|
|
|
|
db 3
|
|
|
|
|
db 7
|
|
|
|
|
db 'Dom'
|
|
|
|
|
db 'Lun'
|
|
|
|
|
db 'Mar'
|
|
|
|
|
db 'Mer'
|
|
|
|
|
db 'Gio'
|
|
|
|
|
db 'Ven'
|
|
|
|
|
db 'Sab'
|
|
|
|
|
else ; Default to en_US
|
|
|
|
|
db 3
|
|
|
|
|
db 7
|
|
|
|
|
db 'Sun'
|
|
|
|
|
db 'Mon'
|
|
|
|
|
db 'Tue'
|
|
|
|
|
db 'Wed'
|
|
|
|
|
db 'Thu'
|
|
|
|
|
db 'Fri'
|
|
|
|
|
db 'Sat'
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
title:
|
|
|
|
|
if lang eq ru_RU
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
else if lang eq de_DE
|
|
|
|
|
db 'Kalender',0
|
|
|
|
|
else if lang eq fr_FR
|
|
|
|
|
db 'Calendrier',0
|
|
|
|
|
else if lang eq et_EE
|
|
|
|
|
db 'Kalender',0
|
|
|
|
|
else if lang eq it_IT
|
|
|
|
|
db 'Calendario',0
|
|
|
|
|
else ; Default to en_US
|
|
|
|
|
db 'Calendar',0
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
today_msg:
|
|
|
|
|
if lang eq ru_RU
|
|
|
|
|
db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|
|
|
|
else if lang eq de_DE
|
|
|
|
|
db 'Heute'
|
|
|
|
|
else if lang eq fr_FR
|
|
|
|
|
db "Aujourd'hui"
|
|
|
|
|
else if lang eq et_EE
|
|
|
|
|
db 'T<>na'
|
|
|
|
|
else if lang eq it_IT
|
|
|
|
|
db 'Oggi'
|
|
|
|
|
else ; Default to en_US
|
|
|
|
|
db 'Today'
|
|
|
|
|
end if
|
|
|
|
|
today_end:
|
|
|
|
|
focus dd 3
|
|
|
|
|
new_style dd 1
|
|
|
|
|
dropped db 0
|
|
|
|
|
|
|
|
|
|
sys_text:
|
|
|
|
|
if lang eq ru_RU
|
|
|
|
|
db '<27>६<EFBFBD>',0
|
|
|
|
|
else if lang eq it_IT
|
|
|
|
|
db ' Ora',0
|
|
|
|
|
else if lang eq et_EE
|
|
|
|
|
db ' Aeg ',0
|
|
|
|
|
else ; Default to en_US
|
|
|
|
|
db ' Time',0
|
|
|
|
|
end if
|
|
|
|
|
separator db ':',0
|
|
|
|
|
plus db '+',0
|
|
|
|
|
minus db '-',0
|
|
|
|
|
|
|
|
|
|
set_date_t:
|
|
|
|
|
if lang eq ru_RU
|
|
|
|
|
db '<27><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>',0
|
|
|
|
|
else if lang eq it_IT
|
|
|
|
|
db ' Impostazioni ',0
|
|
|
|
|
else if lang eq et_EE
|
|
|
|
|
db ' M<><4D>ra kuup<75>ev ',0
|
|
|
|
|
else ; Default to en_US
|
|
|
|
|
db ' Set date ',0
|
|
|
|
|
end if
|