home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / AT_WORLD / ATRIW2A.MSA / WRLDCLOK.A59_README.TXT < prev    next >
Text File  |  1995-03-02  |  20KB  |  440 lines

  1.                      World Clock 1.0a by Dan Wilga
  2.                   Copyright © 1995, Gribnif Software
  3.                          All Rights Reserved.
  4.  
  5. This program may be distributed freely, provided it and this text file are
  6. unmodified.
  7.  
  8. See the end of this file for the revision history.
  9.  
  10. ChocolateWare
  11. -------------
  12.  
  13. This program is ChocolateWare. If you find it useful, you are encouraged
  14. to show your appreciation by sending a quantity of chocolate candy to the
  15. address below. What kind and how much are up to you. Please just limit
  16. yourself to chocolate, either with or without nuts.
  17.  
  18.   Dan Wilga
  19.   Gribnif Software
  20.   PO Box 779
  21.   Northampton, MA  01061
  22.  
  23.      GEnie: GRIBNIF
  24.   Internet: gribnif@genie.geis.com
  25.  
  26.  
  27. Too Much Time On My Hands
  28. -------------------------
  29.  
  30. I often need to call someone in some remote corner of the globe (I've
  31. always hated that expression because, as you probably know, globes don't
  32. have corners) and I find myself wondering if I'm going to be calling at
  33. some rediculously early (or late) time. Most of Europe is easy for me to
  34. remember, but I've already found out that calling an Australian at 5:00 on
  35. Saturday morning is not an acceptable thing to do.
  36.  
  37. I looked around and could not find a program that suited my needs: I wanted
  38. a picture of the world, not just a text list of cities that are probably
  39. nowhere near the place I really want to call. Of course, in order to keep
  40. track of things accurately, a world clock also needs to have an idea about
  41. daylight savings, and not just assume everyone uses the same method.
  42.  
  43. [Bored yet? If so, you can skip ahead to the next section. I would have
  44. already, y'know.]
  45.  
  46. Well, I couldn't find anything that fit the bill, or even came close.  So,
  47. I set about creating my own program. The first thing was to find a map. OK,
  48. that was the easy part. Next, I wanted it to be scalable to any size, so I
  49. used Convector Professional to vectorize the map and save it as a GEM file.
  50.  
  51. Fortunately, the map I used employs what is probably the most common method
  52. for stretching the continents so that the map of our spherical globe will
  53. end up flat: it's called Mercator's Projection. Unfortunately, it took more
  54. hours of research in the local library than I care to mention to find out
  55. what the mathematical relationship between latitude and map location are
  56. when using this projection. But I finally found a simple formula.
  57.  
  58. Along the way, I also came across an invaluable book called "The
  59. International Atlas" (see the bibliography at the end of this file), which
  60. not only gives the coordinates of thousands of cities in the world, but
  61. also gives very precise information about how each country (and even each
  62. region within the country) handles daylight savings.
  63.  
  64. Now I just had to write a program to display the map in a useful way, and
  65. pop a list of cities into a text file. World Clock is the result.
  66.  
  67.  
  68. Setting it Up
  69. -------------
  70.  
  71. World Clock works as a program or a desk accessory. It works in any
  72. resolution, and probably with any graphics card. It also works with
  73. multitasking environments like Geneva, MultiTOS, and MagiC.
  74.  
  75. To run it as a program, these files are necessary:
  76.  
  77.   WORLDCLK.PRG          Program
  78.   WORLDCLK.RSC          Resource file
  79.   WORLDCLK.DAT          Data file with cities and other preferences
  80.   WORLDCLK.GEM          The map
  81.   
  82. There is also a second map called DETAILED.GEM. You can use this in place
  83. of WORLDCLK.GEM by renaming WORLDCLK.GEM to something else (like
  84. LOWREZ.GEM) and then renaming DETAILED.GEM to WORLDCLK.GEM. The
  85. disadvantage to DETAILED.GEM is that it takes more memory to load (just
  86. look at the difference in the file sizes) and whenever the window redraws,
  87. it may redraw more slowly depending on your setup.
  88.  
  89. To run it as a desk accessory, you would simply rename WORLDCLK.PRG to
  90. WORLDCLK.ACC and put it (along with the other files) in the same directory
  91. as all your other desk accessories.
  92.  
  93. In order to prevent too much clutter, you can also put everything but the
  94. WORLDCLK.ACC file into a folder called WORLDCLK. For instance, if your desk
  95. accessories load from C:, you would put WORLDCLK.ACC in C:\, and put the
  96. rest of the files in a folder called C:\WORLDCLK\.
  97.  
  98. The only functional difference between using World Clock as a desk
  99. accessory versus using it as a program is that when used as a desk
  100. accessory, World Clock will only allow you to add 10 places to the list in
  101. one session.
  102.  
  103.  
  104. Running it
  105. ----------
  106.  
  107. Once World Clock is running, there is one thing you need to do in order to
  108. configure it for the first time:
  109.  
  110.                                 IMPORTANT
  111.                                 ---------
  112.                                 
  113. Before World Clock can be of any real use to you, you need to tell it where
  114. you live. Do this by clicking on the "?" icon in the lower right of the
  115. window. This will give you a popup menu. Select the "Edit Places" option.
  116.  
  117. In the "Edit Places" dialog, you will see that some information about the
  118. various places World Clock knows about by default. What you need to do is
  119. choose a place which is in the same time zone as you currently are, and
  120. uses the same method for daylight savings.
  121.  
  122. Scroll though the list of places by using the "+" and "-" buttons next to
  123. the name of the current place. Don't worry if you live in Florida and the
  124. closest thing you can find is New York. That's good enough for now.
  125.  
  126. To help you find a place which is close to you, here is a West to East
  127. list of some of the cities, presented by region:
  128.  
  129.            USA: Honolulu, HI            Anchorage, AK
  130.                 Los Angeles, CA         Denver, CO
  131.                 Dallas, TX              Chicago, IL
  132.                 Indianapolis, IN        New York, NY
  133.                 
  134.         Canada: Vancouver, BC           Edmonton, AB
  135.                 Toronto, ON             Montréal, QC
  136.                 Halifax, NS             St. John's, NF
  137.  
  138.         Europe: Reykjavík               Belfast
  139.                 Glasgow                 Madrid
  140.                 London                  Paris
  141.                 Amsterdam               Roma (Rome)
  142.                 Berlin                  Athinai (Athens)
  143.                 Helsingfors (Helsinki)  Kijev
  144.                 Moskva (Moscow)         Volgograd (Stalingrad)
  145.                 
  146.      Australia: Perth                   Adelaide
  147.                 Melbourne               Brisbane
  148.                 Sydney
  149.  
  150. When you have found a place that is in the same time zone and uses the same
  151. emthod for daylight savings, select the "Here" button. This indicates that
  152. the place you chose should be used for computing other times in the world.
  153. When finished, select the "Done" button.
  154.  
  155. If you can't find a place which is close to where you are, refer to the
  156. section about the "Edit Places" dialog, for more information on how to add
  157. new places to the list.
  158.  
  159. Now it gets interesting. On the map you will notice that a number of
  160. locations have either a diamond (on a monochrome monitor) or a red plus
  161. sign (on a color monitor). If you move the mouse arrow over one of these
  162. markers and press the left mouse button, a dialog will pop up and tell you
  163. what time it is in that place. If you either let go of the mouse or drag
  164. the pointer away from a place, the popup will disappear.
  165.  
  166.  
  167. More Features in the Main Window
  168. --------------------------------
  169.  
  170. As you move the mouse around the main window with the left mouse button
  171. pressed, you may also notice a coordinate display in the lower right of the
  172. window. This tells you the latitude and longitude the mouse pointer is
  173. currently at, and gets updated as long as the mouse button is pressed.
  174. This feature can be turned off in the "Options" dialog (see below).
  175.  
  176. By default, World Clock shows the local time in the mover bar of the
  177. window.  This can be turned off in the "Options" dialog, as well.
  178.  
  179. To conserve screen space, World Clock uses two icons in the lower right
  180. corner of its window. You've already seen what the "?" gadget does (it
  181. gives you a menu of choices), now it's time for you to try the resize
  182. gadget to the far right.
  183.  
  184. To resize the window, grab the resize gadget and drag the outline which
  185. appears. You will notice that the horizontal and vertical directions always
  186. stay in a constant ratio. This is so that the map will not look distorted.
  187. When you let go of the mouse, the map will redraw at the new size.
  188.  
  189.  
  190. The Popup Menu
  191. --------------
  192.  
  193. The popup menu, which is accessed by clicking on the "?" gadget in the
  194. lower right of the window, contains several options:
  195.  
  196.   "Options..."
  197.   ------------
  198.   
  199.     o  am/pm or 24-hour mode affects how time is displayed in the popup
  200.        which appears next to a place, in the local time, and in the hours
  201.        display. By default, World Clock tries to read an "_IDT" system
  202.        "cookie" to determine whether 24-hour time is preferable for your
  203.        country.
  204.  
  205.     o  Show Day in Popup controls whether or not the place popup will
  206.        contain an extra line which describes whether time at the place the
  207.        mouse is over is "Yesterday", "Today", or "Tomorrow".
  208.  
  209.     o  Show Hours gives you a bar at the top of the main window which
  210.        contains the relative time at even increments along the map. Of
  211.        course, many places differ from this number, but it is useful as a
  212.        reference. Note that if the window is too small, some or all of the
  213.        hours may not be visible because they do not fit.
  214.  
  215.     o  Show Coordinates, as stated before, controls whether or not the
  216.        latitude and longitude of the current map location will be displayed
  217.        when the left mouse button is pressed in the main window.
  218.  
  219.     o  Show Current Time controls the display of local time in the window's
  220.        mover bar.
  221.        
  222.   "Edit Places..."
  223.   ----------------
  224.   
  225.     This is probably the most important dialog. As you've seen already, it
  226.     can be used to look at the list of places that World Clock is
  227.     displaying.  It also lets you enter new places and edit existing ones.
  228.  
  229.     At the top of the dialog is the name of the current place. There are
  230.     also "+" and "-" button which will cycle through the list of places.
  231.  
  232.     Below the name is where the longitude and latitude of the place can be
  233.     changed. All coordinates are listed in degrees and minutes (60ths of a
  234.     degree). This means that the largest number that can appear in the
  235.     minutes section of a coordinate is 59. If you enter an incorrect value,
  236.     you will be prompted to correct the error.
  237.  
  238.     Longitudes can either be east ("E") or west ("W") of 0 degrees, so you
  239.     should select the appropriate button when entering a new coordinate.
  240.     Otherwise, the marker for the place will not appear in the correct
  241.     location. Latitudes can either be north ("N") or south ("S") of the
  242.     equator. You can usually find the coordinates of a place by using an
  243.     atlas or map. It is not necessary to be too accurate, unless you use
  244.     World Clock with the main window at a large scale.
  245.  
  246.     Underneath the coordinates you should enter the number of hours and
  247.     minutes that the local time of the place differs from Greenwich Mean
  248.     Time (GMT). For example, New York is 5 hours 0 minutes to the West of
  249.     GMT.
  250.  
  251.     Below this is where you can choose the type of daylight savings used at
  252.     the place. When World Clock notices that the current day and time fall
  253.     within the times of the year that daylight savings is present, one hour
  254.     will be added to the local time of the place when it is displayed. If
  255.     you are unsure what daylight savings method a particular place uses,
  256.     you can just select "<None>" from the popup and no adjustment will be
  257.     made. See the "WORLDCLK.DAT Format" section for information about how
  258.     to add more daylight savings entries to the list.
  259.  
  260.     The "Attributes" section provides you with two options:
  261.  
  262.       o Here: In order for World Clock to be able to calculate the times of
  263.         other places, it needs to know where you are located now. You
  264.         can only select the "Here" button of one place in the list. Choose
  265.         a place which is at least in the same time zone that you are in,
  266.         and preferably one that uses the same method for daylight savings.
  267.  
  268.       o Show Marker: When this button is selected, a marker will be shown
  269.         at the coordinates of the place on the main map window. Turning the
  270.         marker off for a particular place can often help to make other
  271.         markers more visible when they are tightly packed together.
  272.  
  273.     The list of cities can be sorted in one of three ways, either alphabet-
  274.     ically by name, in a north to south direction, or in an east to west
  275.     direction based on coordinates.
  276.  
  277.     The "New" button will add a new, blank place to the list. You must then
  278.     edit the various parts of the place's description. When using World
  279.     Clock as a desk accessory you are only allowed to add 10 places to the
  280.     list in one session. You must "Save Settings" and reboot the computer
  281.     in order to add more places. When using World Clock as a program, you
  282.     can add as many places to the list in one session as memory permits.
  283.  
  284.     To remove the current place from the list, use the "Delete" button.
  285.     Deleted places cannot be recovered, so use this button carefully.
  286.  
  287.     "Go To" will complete any changes you have made to the list, and return
  288.     you to the main window. You will then be shown the location on the map
  289.     of the place you were last looking at in the "Edit Places" dialog.
  290.  
  291.     The "Done" button completes changes to the list and returns you to the
  292.     main window. If you have made any changes to the list when you quit
  293.     World Clock, you will be prompted to save the changes before quitting.
  294.     Note that you will only get this prompt if you are using World Clock as
  295.     a program, not a desk accessory.
  296.  
  297.   "Set Date/Time..."
  298.   ------------------
  299.   
  300.     This feature allows you to change your system clock's date and time.
  301.     The _IDT cookie is used here, too, to determine what order the month,
  302.     day, and year are displayed in the date.
  303.  
  304.   "Save Options"
  305.   --------------
  306.   
  307.     This saves all configurable options, including the window size and
  308.     position, and the list of places to WORLDCLK.DAT. If a change has been
  309.     made to the list of places when you quit World Clock, you will be asked
  310.     to save the changes.
  311.  
  312.   "About..."
  313.   ----------
  314.   
  315.     This dialog gives information about the version of World Clock you are
  316.     using.
  317.  
  318.  
  319. Daylight Savings
  320. ----------------
  321.  
  322.   Many locations change their method of daylight savings every few years.
  323.   For instance, the USA changed their start to the first Sunday in April
  324.   just a few years ago, and many older references on this subject are
  325.   still not updated. If you find that one of the default cities is
  326.   incorrect, please let me know at the address above and I will correct it
  327.   in a future version. 
  328.  
  329.  
  330. WORLDCLK.DAT Format
  331. -------------------
  332.  
  333.   This section describes the format of WORLDCLK.DAT. You do not need to
  334.   read this section unless you either want to add a large number of places
  335.   without using the "Edit Places" dialog, or you need to add more daylight
  336.   savings descriptions.
  337.  
  338.   The file is a regular ASCII text file. Any line beginning with a * can be
  339.   in any order. The commands which follow a * can be one of these:
  340.   
  341.     *Window     Window x, y, width, height
  342.     *Sort       0=Name, 1=N->S, 2=W->E
  343.     *am_pm      am/pm or 24-hour time
  344.     *DispCoords Display mouse coordinates
  345.     *DispDay    Show "Yesterday", "Today", "Tomorrow" in popup
  346.     *DispHours  Show relative time at top of window
  347.     *DispTime   Show current time in mover bar
  348.     *Daylight   A description of daylight savings:
  349.     
  350.             ---- start savings ----   ----- end savings -----
  351.     index   hour  which  month  day   hour  which  month  day   change   name
  352.  
  353.     index: a letter (case is unimportant) to be used in the flags field of
  354.            places that use this method of daylight savings
  355.  
  356.     start savings: the day and time at which daylight savings begins
  357.       hour: hour of the day, in 24-hour format
  358.       which: if 0, then "day" is the date of the month when the change
  359.                  takes place, regardless of weekday. For instance, if
  360.                  "which" is 0 and "day" is 10, then the change occurs on
  361.                  the 10th.
  362.              if >0, then "day" is the day of the week of the change occurs
  363.                  on, where Sunday is 0. When "which" is 1, that means the
  364.                  first "day" of the month, 2 means the second "day" f the
  365.                  month, etc.  See the examples below.
  366.              if <0, then it indicates the last "day" of the month (-1), the
  367.                  next-to-last (-2), etc.
  368.       month: the month of the change, where 1=January
  369.       day: see description of "which"
  370.  
  371.     end savings: the day and time at which daylight savings ends. In the
  372.         northern hemisphere, this is usually later in the year than the
  373.         starting date. In the southern hemisphere, like in Australia, it is
  374.         earlier.
  375.  
  376.     change: the number of hours of offset from GMT during daylight savings. This is most likely
  377.         always -1. 
  378.  
  379.     name: up to 16 characters
  380.  
  381.     Examples:
  382.  
  383.       i   h  w  m  d   h  w  m  d    c
  384.       i   2 -1  4  0   2 -1 10  0   -1   Canada
  385.  
  386.       Daylight savings starts at 02:00 on the last Sunday in April.
  387.       It ends at 02:00 on the last Sunday in October.
  388.  
  389.       i   h  w  m  d   h  w  m  d    c
  390.       a   2 -1 10  0   2  1  3  0   -1   Australia
  391.         
  392.       Daylight savings starts at 02:00 on the last Sunday in October.
  393.       It ends at 02:00 on the first Sunday in March.
  394.  
  395.       i   h  w  m  d   h  w  m  d    c
  396.       k   0  0  4  1   0  0 10  1   -1   Former Soviet
  397.         
  398.       Daylight savings starts at 00:00 on April 1.
  399.       It ends at 00:00 on October 1.
  400.  
  401.   Any lines not beginning with * are assumed to be places. These lines have
  402.   the format:
  403.   
  404.     offset   flags   latitude longitude   name
  405.     
  406.     offset: the hours offset from GMT during standard time. Locations that
  407.         are East of GMT have a negative offset.
  408.  
  409.     flags:
  410.       the first flag is "a" if the a marker for the place is visible
  411.           ("active"), otherwise it is a "-"
  412.       the second flag is "h" if the place was chosen as "Here".
  413.       the third flag is a daylight savings index, or "-" if none.
  414.  
  415.     latitude, longitude: these are in the format "degrees.minutes". A
  416.         negative latitude is south of the equator, and a negative longitude
  417.         is west of the prime meridian.
  418.  
  419.     name: up to 27 characters
  420.  
  421.  
  422. Bibliography
  423. ------------
  424.  
  425.   "The International Atlas, World Latitudes, Longitudes and Time Changes",
  426.     Thomas G. Shanks, ACS Publications, Inc., San Diego, 1985.
  427.  
  428.  
  429. Revision History
  430. ----------------
  431.  
  432.   1.0a:
  433.  
  434.     It will no longer crash when loaded on a machine that does not have a
  435.         cookie jar (like TOS 1.0 or 1.2).
  436.     If you run it without a WORLDCLK.DAT, entering the Edit Places dialog
  437.         to add new places now works.
  438.     12pm is now displyaed properly in the time that appears in the window's
  439.         name bar
  440.