SSD04 Exercise05 个人解答

Take Assessment: Exercise 5

 

Time Zone Editor

Description

This assignment is to create an interface for entering a time zone.  This interface is patterned after the interface found in the standard Windows Date/Time Control Panel.  (To see this control panel, click on the "Start" button, then "Settings", then "Control Panel".  Double click on the "Date / Time" control panel.  Finally, click on the "Time Zone" tab at the top.)  You should create an interface with the components of the "Time Zone" tab, but not the tabbed dialog box or the other parts of the interface that allow the user to set the time and date.  As shown below, these components include a ComboBox for selecting a time zone by name, a map image, a CheckBox for indicating whether the system automatically updates its time to reflect daylight savings time (in time zones that have daylight savings time), and a set of  "OK", "Cancel", and "Apply" buttons.

 

Time Zone Editor

Description

This assignment is to create an interface for entering a time zone.  This interface is patterned after the interface found in the standard Windows Date/Time Control Panel.  (To see this control panel, click on the "Start" button, then "Settings", then "Control Panel".  Double click on the "Date / Time" control panel.  Finally, click on the "Time Zone" tab at the top.)  You should create an interface with the components of the "Time Zone" tab, but not the tabbed dialog box or the other parts of the interface that allow the user to set the time and date.  As shown below, these components include a ComboBox for selecting a time zone by name, a map image, a CheckBox for indicating whether the system automatically updates its time to reflect daylight savings time (in time zones that have daylight savings time), and a set of  "OK", "Cancel", and "Apply" buttons.

 

Based on user actions, you should keep track of:

  • The index of the currently selected time zone
  • The offset in minutes from GMT for the currently-selected time zone
  • The title of the time zone

For this assignment, you should display the map, but you do not need to move the map to reflect the current time zone as is done in the original interface.  When the currently selected time zone does not use daylight savings time, the "Automatic adjustment" CheckBox should be disabled as shown above.  In other cases, this CheckBox should remain enabled.

When the user presses the "OK" or "Cancel" buttons, you should produce a small report of the current settings (similar to the one shown below), and then exit the interface (by "unloading" the form).  If the user presses the "Apply" button, you should produce a similar report but not exit the interface.  The report can be created using the MsgBox() subroutine provided by Visual Basic.  This routine will take a single string as a parameter and display that string along with an "OK" button.


Resources

The data tables and other resources provided below are intended to be cut from this page and pasted into your code or the Visual Basic property sheet editor.  Note that properties that have list values will accept pasting of multiple line text (e.g., cut from the text below) to fill the values for those lists.  To do this, click on the property value.  This will make a "down arrow" appear.  Press on this "down arrow," then click on the first line of the menu that appears (or highlight all the items in the menu if you wish to replace a set of existing entries). Finally, paste your text.  Take care not to introduce extra blank items and not to miss any items when cutting and pasting.

  • Time zone titles (for time zones 0 to 49 in order)

(GMT -12:00) Eniwetok, Kwajalein
(GMT -11:00) Midway Island, Samoa
(GMT -10:00) Hawaii
(GMT -09:00) Alaska
(GMT -08:00) Pacific Time (US and Canada); Tijuana
(GMT -07:00) Arizona
(GMT -07:00) Mountain Time (US and Canada)
(GMT -06:00) Central Time (US and Canada)
(GMT -06:00) Mexico City, Tegucigalpa
(GMT -06:00) Saskatchewan
(GMT -05:00) Bogota, Lima
(GMT -05:00) Eastern Time (US and Canada)
(GMT -05:00) Indiana (East)
(GMT -04:00) Atlantic Time (Canada)
(GMT -04:00) Caracas, La Paz
(GMT -03:30) Newfoundland
(GMT -03:00) Brasilia
(GMT -03:00) Buenos Aires, Georgetown
(GMT -02:00) Mid-Atlantic
(GMT -01:00) Azores, Cape Verde Is.
(GMT +00:00) Greenwich Mean Time; Dublin, Edinburgh, London, Lisbon
(GMT +00:00) Monrovia, Casablanca
(GMT +01:00) Berlin, Stockhold, Rome, Bern, Brussels, Vienna
(GMT +01:00) Paris, Madrid, Amsterdam
(GMT +01:00) Prage, Warsaw, Budapest
(GMT +02:00) Athens, Helsinki, Istanbul
(GMT +02:00) Cairo
(GMT +02:00) Eastern Europe
(GMT +02:00) Harare, Pretoria
(GMT +02:00) Israel
(GMT +03:00) Baghdad, Kuwait, Nairobi, Riyadh
(GMT +03:00) Moscow, St. Petersburgh, Kazan, Volgograd
(GMT +03:00) Tehran
(GMT +04:00) Abu Dhabi, Muscat, Tbilisi
(GMT +04:30) Kabul
(GMT +05:00) Islamabad, Karachi, Ekaterinburg, Tashkent
(GMT +05:30) Bombay, Calcutta, Madras, New Delhi, Colombo
(GMT +06:00) Almaty, Dhaka
(GMT +07:00) Bangkok, Jakarta, Hanoi
(GMT +08:00) Beijing, Chongqing, Urumqi
(GMT +08:00) Hong Kong, Perth, Singapore, Taipei
(GMT +09:00) Tokyo, Osaka, Sapporo, Seoul, Yakutsk
(GMT +09:30) Adelaide
(GMT +09:30) Darwin
(GMT +10:00) Brisbane, Melbourne, Sydney
(GMT +10:00) Guam, Port Moresby, Vladivostok
(GMT +10:00) Hobart
(GMT +11:00) Magadan, Solomon Is., New Caledonia
(GMT +12:00) Fiji, Kamchatka, Marshall Is.
(GMT +12:00) Wellington, Auckland

 
  • Time zone offsets in minutes from GMT (for time zones 0 to 49 in order)

-720
-660
-600
-540
-480
-420
-420
-360
-360
-360
-300
-300
-300
-240
-240
-210
-180
-180
-120
-060
+000
+000
+060
+060
+060
+120
+120
+120
+120
+120
+180
+180
+180
+240
+270
+300
+330
+360
+420
+480
+480
+540
+570
+570
+600
+600
+600
+660
+720
+720

 
  • Initialization code for daylight savings time flags

    For i = 0 To 49
        hasSavingsTime(i) = True
    Next i
    hasSavingsTime(0)  = False ' (GMT -12:00) Eniwetok, Kwajalein
    hasSavingsTime(1)  = False ' (GMT -11:00) Midway Island, Samoa
    hasSavingsTime(2)  = False ' (GMT -10:00) Hawaii
    hasSavingsTime(5)  = False ' (GMT -07:00) Arizona
    hasSavingsTime(8)  = False ' (GMT -06:00) Mexico City, Tegucigalpa
    hasSavingsTime(9)  = False ' (GMT -06:00) Saskatchewan
    hasSavingsTime(10) = False ' (GMT -05:00) Bogota, Lima
    hasSavingsTime(12) = False ' (GMT -05:00) Indiana (East)
    hasSavingsTime(14) = False ' (GMT -04:00) Caracas, La Paz
    hasSavingsTime(17) = False ' (GMT -03:00) Buenos Aires, Georgetown
    hasSavingsTime(21) = False ' (GMT +00:00) Monrovia, Casablanca
    hasSavingsTime(28) = False ' (GMT +02:00) Harare, Pretoria
    hasSavingsTime(30) = False ' (GMT +03:00) Baghdad, Kuwait, Nairobi, Riyadh
    hasSavingsTime(33) = False ' (GMT +04:00) Abu Dhabi, Muscat, Tbilisi
    hasSavingsTime(34) = False ' (GMT +04:30) Kabul
    hasSavingsTime(35) = False ' (GMT +05:00) Islamabad, Karachi, Ekaterinburg, Tashkent
    hasSavingsTime(36) = False ' (GMT +05:30) Bombay, Calcutta, Madras, New Delhi, Colombo
    hasSavingsTime(37) = False ' (GMT +06:00) Almaty, Dhaka
    hasSavingsTime(38) = False ' (GMT +07:00) Bangkok, Jakarta, Hanoi
    hasSavingsTime(40) = False ' (GMT +08:00) Hong Kong, Perth, Singapore, Taipei
    hasSavingsTime(41) = False ' (GMT +09:00) Tokyo, Osaka, Sapporo, Seoul, Yakutsk
    hasSavingsTime(43) = False ' (GMT +09:30) Darwin
    hasSavingsTime(45) = False ' (GMT +10:00) Guam, Port Moresby, Vladivostok
    hasSavingsTime(47) = False ' (GMT +11:00) Magadan, Solomon Is., New Caledonia
    hasSavingsTime(48) = False ' (GMT +12:00) Fiji, Kamchatka, Marshall Is.

 
  • Map image



This image is scaled with each pixel corresponding to one degree of longitude.

  • An executable like the application you are asked to create, click Ex5.exe . (From Internet Explorer, select the "Run this program" option of the "File download" dialog box that appears—from Netscape, save and double-click the file Ex5.exe.)

Submission

Submit the following files:

  • A project archive named Exercise5.zip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值