X I T Y!
eXtended cITY (World Clock) Table Manager
By Waleed Hasan
---------------
Ver: 1.0
Rel: March 16,2002
------------------------------------------
*Intro:
-------
I was writing an AddIn that required longitude & latitude of the home
city & when I decided to work with the city table (world clock) I found
out that it only contains the degree part (no minutes) of the location.
I needed the minute's part of long & lat, also I needed the height above
sea level.
To solve this problem I first added a memo file containing the missing
parameters but the memo file could be deleted by mistake!
Then I came up with a somehow better solution.
I decided to store the extra parameters within the DBID_CLOCK database!
*World-clock table (8000):
--------------------------
The format of the city table is as follows:
Table 8000 : World clock city table
Field# Field Type Description
1 DB_RECID record id of the city
2 DB_VARSTR City
3 DB_VARSTR Country
4 DB_INT8 Daylight Savings (1=ON, 0=OFF)
5 DB_INT16 Time difference related to GMT in minutes.
6 DB_INT16 Longitude (degrees)
7 DB_INT16 Latitude (degrees)
I don't know if it's possible to add new fields or not so what I did
is to use the 'country' field to hold the extra parameters in ASCII
format!
*Solution:
----------
This is done by inserting comma-separated ASCII parameters after
the country name.
This is not a transparent solution but the country name appears only
when you choose your cities so it wouldn't be a problem.
*Example:
---------
"Alexandria/Egypt": 29:55 E, 31:13 N, and 0m above sea level
The values 29E & 31N are already stored in table 8000, so to store 55,
13 & 0 - the country field is updated like that:
"Egypt*55,13,0,"
Note that:
- The '*' is a marker to tell that this is an extended city name :)
- LongMin,
- LatMin,
- Alt,
- (Note the terminating comma after altitude to allow more parameters
to be added!)
BTW, REX uses the same idea in the "Contact main table" (Table
1000)
*Keys:
------
The bottom menu (from right to left) & the buttons are used as follows:
|\|\
|/|/ Up 7 cities
|\
|/ UP_BUTTON Up 1 city
,
/ \
|.| TOP_BUTTON Go to Home City
/|
\| DOWN_BUTTON Down 1 city
/|/|
\|\| Down 7 cities
,
\\ __
>< (This is a plane :) ) go to travel city
| \\/
|=|
|=|
<- Insert new city
(o) ENTER_BUTTON save changes
,--.
v / BACK_BUTTON undo edit (no undo after save or delete!)
,___,_
/|\---- (This is a gun :) ) Delete city
|_|
*Bugs & other issues!
---------------------
This AddIn is delivered as-is and although I found no bugs in this
version, use it at your own risk.
I've never tried to delete all the cities or delete the home city!
(I did it in the emulator & nothing happened :) )
Finally please report any bugs you find.
*To-Do:
------
- User entry validation (minutes should be less than 59!)
- Check for DB return codes!
- Initialize all cities from a memo.
               (
geocities.com/wh_hsn)