home *** CD-ROM | disk | FTP | other *** search
/ RISCWORLD 5 / RISCWORLD_VOL5.iso / SOFTWARE / Issue3 / FAMILY / Family / !Family / ISODateLib < prev    next >
Unknown  |  2000-04-21  |  6.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 01 50 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...P****|********|
|00000010| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000020| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000030| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000040| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000050| 0d 00 02 06 2a 7c 0d 00 | 03 4d 2a 7c 20 44 61 74 |....*|..|.M*| Dat|
|00000060| 65 20 63 6f 6e 76 65 72 | 73 69 6f 6e 73 3a 20 54 |e conver|sions: T|
|00000070| 77 6f 20 52 6f 75 74 69 | 6e 65 73 20 63 6f 6e 76 |wo Routi|nes conv|
|00000080| 65 72 74 20 64 61 74 65 | 73 20 62 65 74 77 65 65 |ert date|s betwee|
|00000090| 6e 20 74 68 65 20 47 45 | 44 43 4f 4d 20 66 6f 72 |n the GE|DCOM for|
|000000a0| 6d 61 74 0d 00 04 50 2a | 7c 20 75 73 65 64 20 77 |mat...P*|| used w|
|000000b0| 69 74 68 69 6e 20 74 68 | 65 20 47 45 44 43 4f 4d |ithin th|e GEDCOM|
|000000c0| 20 66 69 6c 65 73 20 61 | 6e 64 20 69 6e 74 65 72 | files a|nd inter|
|000000d0| 6e 61 6c 6c 79 20 69 6e | 20 74 68 65 20 70 72 6f |nally in| the pro|
|000000e0| 67 72 61 6d 20 61 6e 64 | 20 74 68 65 20 75 73 65 |gram and| the use|
|000000f0| 72 27 73 0d 00 05 30 2a | 7c 20 70 72 65 66 65 72 |r's...0*|| prefer|
|00000100| 72 65 64 20 66 6f 72 6d | 61 74 20 66 6f 72 20 64 |red form|at for d|
|00000110| 69 73 70 6c 61 79 20 61 | 6e 64 20 65 64 69 74 69 |isplay a|nd editi|
|00000120| 6e 67 2e 0d 00 06 06 2a | 7c 0d 00 07 50 2a 7c 20 |ng.....*||...P*| |
|00000130| 54 68 69 73 20 6c 69 62 | 72 61 72 79 20 69 73 20 |This lib|rary is |
|00000140| 49 53 4f 44 61 74 65 4c | 69 62 2c 20 66 6f 72 20 |ISODateL|ib, for |
|00000150| 75 73 65 72 73 20 77 68 | 6f 20 70 72 65 66 65 72 |users wh|o prefer|
|00000160| 20 49 53 4f 2d 38 36 30 | 31 20 66 6f 72 6d 61 74 | ISO-860|1 format|
|00000170| 74 65 64 20 64 61 74 65 | 73 0d 00 08 06 2a 7c 0d |ted date|s....*|.|
|00000180| 00 09 4a 2a 7c 20 49 74 | 20 72 65 6c 69 65 73 20 |..J*| It| relies |
|00000190| 6f 6e 20 46 4e 55 70 70 | 65 72 2c 20 46 4e 4e 75 |on FNUpp|er, FNNu|
|000001a0| 6d 65 72 69 63 20 61 6e | 64 20 20 46 4e 44 69 67 |meric an|d FNDig|
|000001b0| 69 74 20 66 72 6f 6d 20 | 74 68 65 20 6d 61 69 6e |it from |the main|
|000001c0| 20 70 72 6f 67 72 61 6d | 2c 0d 00 0a 24 2a 7c 20 | program|,...$*| |
|000001d0| 62 75 74 20 75 73 65 73 | 20 6e 6f 20 67 6c 6f 62 |but uses| no glob|
|000001e0| 61 6c 20 76 61 72 69 61 | 62 6c 65 73 2e 0d 00 0b |al varia|bles....|
|000001f0| 06 2a 7c 0d 00 0c 50 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.*|...P*|********|
|00000200| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000210| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000230| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000240| 2a 2a 2a 0d 00 0d 06 2a | 7c 0d 00 0e 0f 2a 7c 20 |***....*||....*| |
|00000250| 55 70 64 61 74 65 73 3a | 0d 00 0f 50 2a 7c 20 32 |Updates:|...P*| 2|
|00000260| 30 30 30 2d 30 33 2d 30 | 33 20 4c 45 46 54 28 44 |000-03-0|3 LEFT(D|
|00000270| 24 29 20 73 68 6f 75 6c | 64 20 68 61 76 65 20 62 |$) shoul|d have b|
|00000280| 65 65 6e 20 4c 45 46 54 | 24 28 44 24 2c 31 29 20 |een LEFT|$(D$,1) |
|00000290| 69 6e 20 61 20 66 65 77 | 20 70 6c 61 63 65 73 20 |in a few| places |
|000002a0| 2d 20 63 61 75 73 65 64 | 0d 00 10 4d 2a 7c 20 20 |- caused|...M*| |
|000002b0| 20 20 20 20 20 20 20 20 | 20 20 6c 6f 63 6b 75 70 | | lockup|
|000002c0| 20 66 6f 72 20 79 65 61 | 72 73 20 73 74 61 72 74 | for yea|rs start|
|000002d0| 69 6e 67 20 22 39 22 20 | 28 74 79 70 69 63 61 6c |ing "9" |(typical|
|000002e0| 20 70 72 65 2d 63 6f 6e | 71 75 65 73 74 20 64 61 | pre-con|quest da|
|000002f0| 74 65 73 29 2e 0d 00 11 | 04 0d 00 12 14 dd 20 a4 |tes)....|...... .|
|00000300| 5f 55 73 65 72 44 61 74 | 65 28 44 24 29 0d 00 13 |_UserDat|e(D$)...|
|00000310| 50 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |P*******|********|
|00000320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 00 14 |********|*****...|
|00000360| 06 2a 7c 0d 00 15 47 2a | 7c 20 44 24 20 73 68 6f |.*|...G*|| D$ sho|
|00000370| 75 6c 64 20 62 65 20 61 | 20 70 72 6f 70 65 72 6c |uld be a| properl|
|00000380| 79 20 6b 6f 73 68 65 72 | 20 64 61 74 65 20 69 6e |y kosher| date in|
|00000390| 20 47 45 44 43 4f 4d 27 | 73 20 66 6f 72 6d 61 74 | GEDCOM'|s format|
|000003a0| 2c 20 77 68 69 63 68 20 | 69 73 0d 00 16 39 2a 7c |, which |is...9*||
|000003b0| 20 5b 41 42 54 7c 45 53 | 54 7c 43 41 4c 7c 42 45 | [ABT|ES|T|CAL|BE|
|000003c0| 46 7c 41 46 54 5d 20 5b | 5b 5b 6e 5d 6e 5d 20 4d |F|AFT] [|[[n]n] M|
|000003d0| 4d 4d 5d 20 59 59 59 59 | 5b 2f 59 5d 20 5b 42 2e |MM] YYYY|[/Y] [B.|
|000003e0| 43 2e 5d 0d 00 17 38 2a | 7c 20 6f 72 20 70 6f 73 |C.]...8*|| or pos|
|000003f0| 73 69 62 6c 79 20 42 45 | 54 20 3c 44 41 54 45 5f |sibly BE|T <DATE_|
|00000400| 52 45 47 55 4c 41 52 3e | 20 41 4e 44 20 3c 44 41 |REGULAR>| AND <DA|
|00000410| 54 45 5f 52 45 47 55 4c | 41 52 3e 0d 00 18 51 2a |TE_REGUL|AR>...Q*|
|00000420| 7c 20 77 65 20 77 6f 75 | 6c 64 20 6c 69 6b 65 20 || we wou|ld like |
|00000430| 74 6f 20 70 65 65 6c 20 | 6f 66 66 20 74 68 65 20 |to peel |off the |
|00000440| 71 75 61 6c 69 66 69 65 | 72 20 28 41 42 54 2c 45 |qualifie|r (ABT,E|
|00000450| 53 54 2c 43 41 4c 2c 42 | 45 46 2c 41 46 54 29 2c |ST,CAL,B|EF,AFT),|
|00000460| 20 61 6e 64 20 63 6f 6e | 76 65 72 74 0d 00 19 4d | and con|vert...M|
|00000470| 2a 7c 20 74 68 65 20 64 | 61 74 65 20 74 6f 20 61 |*| the d|ate to a|
|00000480| 20 75 73 65 66 75 6c 20 | 6e 75 6d 65 72 69 63 61 | useful |numerica|
|00000490| 6c 20 66 6f 72 6d 20 77 | 65 20 63 61 6e 20 6d 61 |l form w|e can ma|
|000004a0| 6e 69 70 75 6c 61 74 65 | 2c 20 74 68 65 6e 20 63 |nipulate|, then c|
|000004b0| 6f 6e 76 65 72 74 20 69 | 74 0d 00 1a 47 2a 7c 20 |onvert i|t...G*| |
|000004c0| 61 67 61 69 6e 20 76 69 | 61 20 46 61 6d 69 6c 79 |again vi|a Family|
|000004d0| 24 44 61 74 65 46 6f 72 | 6d 61 74 20 69 6e 74 6f |$DateFor|mat into|
|000004e0| 20 77 68 61 74 65 76 65 | 72 20 66 6f 72 6d 61 74 | whateve|r format|
|000004f0| 20 74 68 65 20 75 73 65 | 72 20 77 61 6e 74 73 2e | the use|r wants.|
|00000500| 0d 00 1b 4d 2a 7c 20 49 | 6e 20 66 61 63 74 2c 20 |...M*| I|n fact, |
|00000510| 61 73 20 74 68 69 73 20 | 75 73 65 72 20 77 61 6e |as this |user wan|
|00000520| 74 73 20 49 53 4f 2d 38 | 36 30 31 20 64 61 74 65 |ts ISO-8|601 date|
|00000530| 73 2c 20 74 68 69 73 20 | 69 73 20 77 68 61 74 20 |s, this |is what |
|00000540| 49 27 6d 20 64 6f 69 6e | 67 20 3a 2d 29 0d 00 1c |I'm doin|g :-)...|
|00000550| 4f 2a 7c 20 4e 6f 74 65 | 20 74 68 61 74 20 47 45 |O*| Note| that GE|
|00000560| 44 43 4f 4d 20 73 75 70 | 70 6f 72 74 73 20 22 64 |DCOM sup|ports "d|
|00000570| 61 74 65 20 70 68 72 61 | 73 65 22 20 77 68 69 63 |ate phra|se" whic|
|00000580| 68 20 69 73 20 66 72 65 | 65 20 74 65 78 74 20 2d |h is fre|e text -|
|00000590| 20 69 66 20 77 65 20 63 | 61 6e 27 74 0d 00 1d 3f | if we c|an't...?|
|000005a0| 2a 7c 20 63 6f 6e 76 65 | 72 74 20 73 75 63 63 65 |*| conve|rt succe|
|000005b0| 73 73 66 75 6c 6c 79 2c | 20 77 65 20 73 68 6f 75 |ssfully,| we shou|
|000005c0| 6c 64 20 6a 75 73 74 20 | 72 65 70 72 6f 64 75 63 |ld just |reproduc|
|000005d0| 65 20 76 65 72 62 61 74 | 69 6d 2e 0d 00 1e 41 2a |e verbat|im....A*|
|000005e0| 7c 20 49 66 20 44 34 20 | 69 73 20 65 6d 70 74 79 || If D4 |is empty|
|000005f0| 2c 20 77 65 20 73 68 6f | 75 6c 64 20 6e 6f 74 20 |, we sho|uld not |
|00000600| 22 69 6e 76 65 6e 74 22 | 20 31 39 30 30 2e 78 78 |"invent"| 1900.xx|
|00000610| 2e 78 78 20 2d 20 6f 6f | 70 73 20 21 0d 00 1f 06 |.xx - oo|ps !....|
|00000620| 2a 7c 0d 00 20 50 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*|.. P**|********|
|00000630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000670| 2a 2a 0d 00 21 04 0d 00 | 22 11 e7 20 44 24 3d 22 |**..!...|".. D$="|
|00000680| 22 20 8c 20 3d 44 24 0d | 00 23 1b ea 20 64 24 2c |" . =D$.|.#.. d$,|
|00000690| 4f 24 2c 73 24 2c 6d 6f | 6e 74 68 24 2c 58 25 2c |O$,s$,mo|nth$,X%,|
|000006a0| 43 24 0d 00 24 09 64 24 | 3d 44 24 0d 00 25 1d c8 |C$..$.d$|=D$..%..|
|000006b0| 95 20 c0 44 24 2c 31 29 | 3d 22 20 22 3a 44 24 3d |. .D$,1)|=" ":D$=|
|000006c0| c1 44 24 2c 32 29 3a ce | 0d 00 26 15 73 24 3d a4 |.D$,2):.|..&.s$=.|
|000006d0| 55 70 70 65 72 28 c0 44 | 24 2c 33 29 29 0d 00 27 |Upper(.D|$,3))..'|
|000006e0| 10 e7 20 73 24 3d 22 42 | 45 54 22 20 8c 0d 00 28 |.. s$="B|ET" ...(|
|000006f0| 0f 20 20 44 24 3d c1 44 | 24 2c 34 29 0d 00 29 1d |. D$=.D|$,4)..).|
|00000700| 20 20 58 25 20 3d 20 a7 | a4 55 70 70 65 72 28 44 | X% = .|.Upper(D|
|00000710| 24 29 2c 22 41 4e 44 22 | 29 0d 00 2a 2d 20 20 e7 |$),"AND"|)..*- .|
|00000720| 20 58 25 3d 30 20 8c 20 | 3d 64 24 3a f4 20 62 61 | X%=0 . |=d$:. ba|
|00000730| 64 6c 79 20 66 6f 72 6d | 65 64 20 64 61 74 65 20 |dly form|ed date |
|00000740| 70 68 72 61 73 65 0d 00 | 2b 41 20 20 3d 73 24 2b |phrase..|+A =s$+|
|00000750| 22 20 22 2b a4 5f 55 73 | 65 72 44 61 74 65 28 c0 |" "+._Us|erDate(.|
|00000760| 44 24 2c 58 25 2d 31 29 | 29 2b 22 20 41 4e 44 20 |D$,X%-1)|)+" AND |
|00000770| 22 2b a4 5f 55 73 65 72 | 44 61 74 65 28 c1 44 24 |"+._User|Date(.D$|
|00000780| 2c 58 25 2b 33 29 29 0d | 00 2c 05 cc 0d 00 2d 2e |,X%+3)).|.,....-.|
|00000790| 20 20 2a 7c 20 50 61 72 | 73 65 20 66 72 6f 6d 20 | *| Par|se from |
|000007a0| 52 48 20 65 6e 64 2c 20 | 77 68 65 72 65 20 74 68 |RH end, |where th|
|000007b0| 65 20 79 65 61 72 20 69 | 73 3a 0d 00 2e 1b 20 20 |e year i|s:.... |
|000007c0| c8 95 20 c2 44 24 29 3d | 22 20 22 3a 44 24 3d c0 |.. .D$)=|" ":D$=.|
|000007d0| 44 24 29 3a ce 0d 00 2f | 0d 20 20 4f 24 20 3d 20 |D$):.../|. O$ = |
|000007e0| 22 22 0d 00 30 3a 20 20 | e7 20 c2 44 24 29 3d 22 |""..0: |. .D$)="|
|000007f0| 2e 22 20 c8 95 20 c2 44 | 24 29 3c 3e 22 20 22 3a |." .. .D|$)<>" ":|
|00000800| 4f 24 3d c2 44 24 29 2b | 4f 24 3a 44 24 3d c0 44 |O$=.D$)+|O$:D$=.D|
|00000810| 24 29 3a ce 3a 4f 24 2b | 3d 22 20 22 0d 00 31 1b |$):.:O$+|=" "..1.|
|00000820| 20 20 c8 95 20 c2 44 24 | 29 3d 22 20 22 3a 44 24 | .. .D$|)=" ":D$|
|00000830| 3d c0 44 24 29 3a ce 0d | 00 32 22 20 20 2a 7c 20 |=.D$):..|.2" *| |
|00000840| 59 65 61 72 20 66 69 65 | 6c 64 20 69 73 20 63 6f |Year fie|ld is co|
|00000850| 6d 70 75 6c 73 6f 72 79 | 3a 0d 00 33 0d 20 20 73 |mpulsory|:..3. s|
|00000860| 24 20 3d 20 22 22 0d 00 | 34 26 20 20 c8 95 20 c2 |$ = ""..|4& .. .|
|00000870| 44 24 29 3d 22 78 22 3a | 73 24 3d c2 44 24 29 2b |D$)="x":|s$=.D$)+|
|00000880| 73 24 3a 44 24 3d c0 44 | 24 29 3a ce 0d 00 35 14 |s$:D$=.D|$):...5.|
|00000890| 20 20 58 25 3d a9 28 73 | 24 29 3a 73 24 3d 22 22 | X%=.(s|$):s$=""|
|000008a0| 0d 00 36 0d 20 20 43 24 | 3d c2 44 24 29 0d 00 37 |..6. C$|=.D$)..7|
|000008b0| 39 20 20 c8 95 20 28 a4 | 44 69 67 69 74 28 43 24 |9 .. (.|Digit(C$|
|000008c0| 29 29 84 28 43 24 3d 22 | 2f 22 29 3a 73 24 3d 43 |)).(C$="|/"):s$=C|
|000008d0| 24 2b 73 24 3a 44 24 3d | c0 44 24 29 3a 43 24 3d |$+s$:D$=|.D$):C$=|
|000008e0| c2 44 24 29 3a ce 0d 00 | 38 0f 20 20 e7 20 58 25 |.D$):...|8. . X%|
|000008f0| 3c 3e 30 20 8c 0d 00 39 | 16 20 20 20 20 59 24 3d |<>0 ...9|. Y$=|
|00000900| 73 24 2b c4 58 25 2c 22 | 78 22 29 0d 00 3a 07 20 |s$+.X%,"|x")..:. |
|00000910| 20 cc 0d 00 3b 0d 20 20 | 20 20 59 24 3d 73 24 0d | ...;. | Y$=s$.|
|00000920| 00 3c 07 20 20 cd 0d 00 | 3d 1b 20 20 c8 95 20 c2 |.<. ...|=. .. .|
|00000930| 44 24 29 3d 22 20 22 3a | 44 24 3d c0 44 24 29 3a |D$)=" ":|D$=.D$):|
|00000940| ce 0d 00 3e 35 20 20 2a | 7c 20 4d 6f 6e 74 68 20 |...>5 *|| Month |
|00000950| 66 69 65 6c 64 20 69 73 | 20 6f 70 74 69 6f 6e 61 |field is| optiona|
|00000960| 6c 2c 20 73 6f 20 44 24 | 20 6d 61 79 20 62 65 20 |l, so D$| may be |
|00000970| 65 6d 70 74 79 3a 0d 00 | 3f 2a 20 20 e7 20 44 24 |empty:..|?* . D$|
|00000980| 3d 22 22 20 8c 20 3d 4f | 24 2b 59 24 3a f4 6f 76 |="" . =O|$+Y$:.ov|
|00000990| 65 20 74 68 69 73 20 2b | 22 2e 78 78 2e 78 78 22 |e this +|".xx.xx"|
|000009a0| 0d 00 40 42 20 20 2a 7c | 20 77 68 61 74 20 77 65 |..@B *|| what we|
|000009b0| 20 68 61 76 65 20 6e 6f | 77 20 6d 61 79 20 62 65 | have no|w may be|
|000009c0| 20 61 20 6d 6f 6e 74 68 | 20 6f 72 20 61 20 71 75 | a month| or a qu|
|000009d0| 61 6c 69 66 69 65 72 20 | 28 6c 69 6b 65 20 41 42 |alifier |(like AB|
|000009e0| 54 29 0d 00 41 1b 20 20 | c8 95 20 c2 44 24 29 3d |T)..A. |.. .D$)=|
|000009f0| 22 20 22 3a 44 24 3d c0 | 44 24 29 3a ce 0d 00 42 |" ":D$=.|D$):...B|
|00000a00| 19 20 20 73 24 20 3d 20 | a4 55 70 70 65 72 28 c2 |. s$ = |.Upper(.|
|00000a10| 44 24 2c 33 29 29 0d 00 | 43 0d 20 20 c8 8e 20 73 |D$,3))..|C. .. s|
|00000a20| 24 20 ca 0d 00 44 28 20 | 20 20 20 c9 20 22 41 42 |$ ...D( | . "AB|
|00000a30| 54 22 2c 22 45 53 54 22 | 2c 22 43 41 4c 22 2c 22 |T","EST"|,"CAL","|
|00000a40| 42 45 46 22 2c 22 41 46 | 54 22 3a 0d 00 45 19 20 |BEF","AF|T":..E. |
|00000a50| 20 20 20 20 20 44 24 3d | c0 44 24 2c a9 28 44 24 | D$=|.D$,.(D$|
|00000a60| 29 2d 33 29 0d 00 46 1f | 20 20 20 20 20 20 c8 95 |)-3)..F.| ..|
|00000a70| 20 c2 44 24 29 3d 22 20 | 22 3a 44 24 3d c0 44 24 | .D$)=" |":D$=.D$|
|00000a80| 29 3a ce 0d 00 47 34 20 | 20 20 20 20 20 e7 20 44 |):...G4 | . D|
|00000a90| 24 3d 22 22 20 8c 3d 73 | 24 2b 22 20 22 2b 4f 24 |$="" .=s|$+" "+O$|
|00000aa0| 2b 59 24 3a f4 6f 76 65 | 20 74 68 69 73 20 2b 22 |+Y$:.ove| this +"|
|00000ab0| 2e 78 78 2e 78 78 22 0d | 00 48 4b 20 20 20 20 20 |.xx.xx".|.HK |
|00000ac0| 20 2a 7c 20 6e 6f 74 68 | 69 6e 67 20 73 68 6f 75 | *| noth|ing shou|
|00000ad0| 6c 64 20 68 61 76 65 20 | 70 72 65 63 65 64 65 64 |ld have |preceded|
|00000ae0| 20 74 68 6f 73 65 20 71 | 75 61 6c 69 66 69 65 72 | those q|ualifier|
|00000af0| 73 2c 20 73 6f 20 64 61 | 74 65 20 77 61 73 20 62 |s, so da|te was b|
|00000b00| 61 64 0d 00 49 0e 20 20 | 20 20 20 20 3d 20 64 24 |ad..I. | = d$|
|00000b10| 0d 00 4a 07 20 20 cb 0d | 00 4b 15 20 20 44 24 3d |..J. ..|.K. D$=|
|00000b20| c0 44 24 2c a9 28 44 24 | 29 2d 33 29 0d 00 4c 41 |.D$,.(D$|)-3)..LA|
|00000b30| 20 20 58 25 20 3d 20 28 | a7 22 20 20 4a 41 4e 46 | X% = (|." JANF|
|00000b40| 45 42 4d 41 52 41 50 52 | 4d 41 59 4a 55 4e 4a 55 |EBMARAPR|MAYJUNJU|
|00000b50| 4c 41 55 47 53 45 50 4f | 43 54 4e 4f 56 44 45 43 |LAUGSEPO|CTNOVDEC|
|00000b60| 22 2c 73 24 29 20 81 20 | 33 29 3c 3c 31 0d 00 4d |",s$) . |3)<<1..M|
|00000b70| 34 20 20 6d 6f 6e 74 68 | 24 20 3d 20 c1 22 78 78 |4 month|$ = ."xx|
|00000b80| 30 31 30 32 30 33 30 34 | 30 35 30 36 30 37 30 38 |01020304|05060708|
|00000b90| 30 39 31 30 31 31 31 32 | 22 2c 31 2b 58 25 2c 32 |09101112|",1+X%,2|
|00000ba0| 29 0d 00 4e 1b 20 20 c8 | 95 20 c2 44 24 29 3d 22 |)..N. .|. .D$)="|
|00000bb0| 20 22 3a 44 24 3d c0 44 | 24 29 3a ce 0d 00 4f 31 | ":D$=.D|$):...O1|
|00000bc0| 20 20 e7 20 44 24 3d 22 | 22 20 8c 3d 4f 24 2b 59 | . D$="|" .=O$+Y|
|00000bd0| 24 2b 22 2e 22 2b 6d 6f | 6e 74 68 24 3a f4 6f 76 |$+"."+mo|nth$:.ov|
|00000be0| 65 20 74 68 69 73 20 2b | 22 2e 78 78 22 0d 00 50 |e this +|".xx"..P|
|00000bf0| 46 20 20 2a 7c 20 77 68 | 61 74 20 77 65 20 68 61 |F *| wh|at we ha|
|00000c00| 76 65 20 6e 6f 77 20 6d | 61 79 20 62 65 20 61 20 |ve now m|ay be a |
|00000c10| 6e 75 6d 65 72 69 63 20 | 64 61 79 2d 6f 66 2d 6d |numeric |day-of-m|
|00000c20| 6f 6e 74 68 20 6f 72 20 | 61 20 71 75 61 6c 69 66 |onth or |a qualif|
|00000c30| 69 65 72 0d 00 51 19 20 | 20 73 24 20 3d 20 a4 55 |ier..Q. | s$ = .U|
|00000c40| 70 70 65 72 28 c2 44 24 | 2c 33 29 29 0d 00 52 0d |pper(.D$|,3))..R.|
|00000c50| 20 20 c8 8e 20 73 24 20 | ca 0d 00 53 28 20 20 20 | .. s$ |...S( |
|00000c60| 20 c9 20 22 41 42 54 22 | 2c 22 45 53 54 22 2c 22 | . "ABT"|,"EST","|
|00000c70| 43 41 4c 22 2c 22 42 45 | 46 22 2c 22 41 46 54 22 |CAL","BE|F","AFT"|
|00000c80| 3a 0d 00 54 19 20 20 20 | 20 20 20 44 24 3d c0 44 |:..T. | D$=.D|
|00000c90| 24 2c a9 28 44 24 29 2d | 33 29 0d 00 55 1f 20 20 |$,.(D$)-|3)..U. |
|00000ca0| 20 20 20 20 c8 95 20 c2 | 44 24 29 3d 22 20 22 3a | .. .|D$)=" ":|
|00000cb0| 44 24 3d c0 44 24 29 3a | ce 0d 00 56 37 20 20 20 |D$=.D$):|...V7 |
|00000cc0| 20 20 20 e7 20 44 24 3d | 22 22 20 8c 3d 73 24 2b | . D$=|"" .=s$+|
|00000cd0| 22 20 22 2b 4f 24 2b 59 | 24 2b 22 2e 22 2b 6d 6f |" "+O$+Y|$+"."+mo|
|00000ce0| 6e 74 68 24 3a f4 6f 76 | 65 20 2b 22 2e 78 78 22 |nth$:.ov|e +".xx"|
|00000cf0| 0d 00 57 4b 20 20 20 20 | 20 20 2a 7c 20 6e 6f 74 |..WK | *| not|
|00000d00| 68 69 6e 67 20 73 68 6f | 75 6c 64 20 68 61 76 65 |hing sho|uld have|
|00000d10| 20 70 72 65 63 65 64 65 | 64 20 74 68 6f 73 65 20 | precede|d those |
|00000d20| 71 75 61 6c 69 66 69 65 | 72 73 2c 20 73 6f 20 64 |qualifie|rs, so d|
|00000d30| 61 74 65 20 77 61 73 20 | 62 61 64 0d 00 58 0e 20 |ate was |bad..X. |
|00000d40| 20 20 20 20 20 3d 20 64 | 24 0d 00 59 07 20 20 cb | = d|$..Y. .|
|00000d50| 0d 00 5a 3c 20 20 2a 7c | 20 6e 6f 74 20 61 20 71 |..Z< *|| not a q|
|00000d60| 75 61 6c 69 66 69 65 72 | 2c 20 73 6f 20 72 65 61 |ualifier|, so rea|
|00000d70| 64 20 61 20 64 69 67 69 | 74 20 66 72 6f 6d 20 72 |d a digi|t from r|
|00000d80| 69 67 68 74 20 6f 66 20 | 64 61 74 65 0d 00 5b 31 |ight of |date..[1|
|00000d90| 20 20 73 24 20 3d 20 22 | 22 3a c8 95 a4 44 69 67 | s$ = "|":...Dig|
|00000da0| 69 74 28 c2 44 24 29 29 | 3a 73 24 3d c2 44 24 29 |it(.D$))|:s$=.D$)|
|00000db0| 2b 73 24 3a 44 24 3d c0 | 44 24 29 3a ce 0d 00 5c |+s$:D$=.|D$):...\|
|00000dc0| 14 20 20 e7 20 73 24 3d | 22 22 20 8c 20 3d 20 64 |. . s$=|"" . = d|
|00000dd0| 24 0d 00 5d 10 20 20 58 | 25 20 3d 20 bb 28 73 24 |$..]. X|% = .(s$|
|00000de0| 29 0d 00 5e 1e 20 20 e7 | 20 28 58 25 3c 31 29 20 |)..^. .| (X%<1) |
|00000df0| 84 20 28 58 25 3e 33 31 | 29 20 8c 20 3d 64 24 0d |. (X%>31|) . =d$.|
|00000e00| 00 5f 1b 20 20 c8 95 20 | c2 44 24 29 3d 22 20 22 |._. .. |.D$)=" "|
|00000e10| 3a 44 24 3d c0 44 24 29 | 3a ce 0d 00 60 32 20 20 |:D$=.D$)|:...`2 |
|00000e20| e7 20 44 24 3d 22 22 20 | 8c 3d 4f 24 2b 59 24 2b |. D$="" |.=O$+Y$+|
|00000e30| 22 2e 22 2b 6d 6f 6e 74 | 68 24 2b 22 2e 22 2b c2 |"."+mont|h$+"."+.|
|00000e40| 22 30 22 2b c3 28 58 25 | 29 2c 32 29 0d 00 61 19 |"0"+.(X%|),2)..a.|
|00000e50| 20 20 73 24 20 3d 20 a4 | 55 70 70 65 72 28 c2 44 | s$ = .|Upper(.D|
|00000e60| 24 2c 33 29 29 0d 00 62 | 0d 20 20 c8 8e 20 73 24 |$,3))..b|. .. s$|
|00000e70| 20 ca 0d 00 63 28 20 20 | 20 20 c9 20 22 41 42 54 | ...c( | . "ABT|
|00000e80| 22 2c 22 45 53 54 22 2c | 22 43 41 4c 22 2c 22 42 |","EST",|"CAL","B|
|00000e90| 45 46 22 2c 22 41 46 54 | 22 3a 0d 00 64 19 20 20 |EF","AFT|":..d. |
|00000ea0| 20 20 20 20 44 24 3d c0 | 44 24 2c a9 28 44 24 29 | D$=.|D$,.(D$)|
|00000eb0| 2d 33 29 0d 00 65 1f 20 | 20 20 20 20 20 c8 95 20 |-3)..e. | .. |
|00000ec0| c2 44 24 29 3d 22 20 22 | 3a 44 24 3d c0 44 24 29 |.D$)=" "|:D$=.D$)|
|00000ed0| 3a ce 0d 00 66 3d 20 20 | 20 20 20 20 e7 20 44 24 |:...f= | . D$|
|00000ee0| 3d 22 22 20 8c 3d 73 24 | 2b 22 20 22 2b 4f 24 2b |="" .=s$|+" "+O$+|
|00000ef0| 59 24 2b 22 2e 22 2b 6d | 6f 6e 74 68 24 2b 22 2e |Y$+"."+m|onth$+".|
|00000f00| 22 2b c2 22 30 22 2b c3 | 28 58 25 29 2c 32 29 0d |"+."0"+.|(X%),2).|
|00000f10| 00 67 4b 20 20 20 20 20 | 20 2a 7c 20 6e 6f 74 68 |.gK | *| noth|
|00000f20| 69 6e 67 20 73 68 6f 75 | 6c 64 20 68 61 76 65 20 |ing shou|ld have |
|00000f30| 70 72 65 63 65 64 65 64 | 20 74 68 6f 73 65 20 71 |preceded| those q|
|00000f40| 75 61 6c 69 66 69 65 72 | 73 2c 20 73 6f 20 64 61 |ualifier|s, so da|
|00000f50| 74 65 20 77 61 73 20 62 | 61 64 0d 00 68 0e 20 20 |te was b|ad..h. |
|00000f60| 20 20 20 20 3d 20 64 24 | 0d 00 69 07 20 20 cb 0d | = d$|..i. ..|
|00000f70| 00 6a 0a 20 20 3d 20 64 | 24 0d 00 6b 05 cd 0d 00 |.j. = d|$..k....|
|00000f80| 6c 29 f4 20 49 6e 61 63 | 63 65 73 73 69 62 6c 65 |l). Inac|cessible|
|00000f90| 2c 20 62 75 74 20 61 64 | 64 20 61 20 73 61 66 65 |, but ad|d a safe|
|00000fa0| 74 79 20 6e 65 74 3a 0d | 00 6d 07 3d 64 24 0d 00 |ty net:.|.m.=d$..|
|00000fb0| 6e 04 0d 00 6f 16 dd 20 | a4 5f 47 45 44 43 4f 4d |n...o.. |._GEDCOM|
|00000fc0| 64 61 74 65 28 44 24 29 | 0d 00 70 50 2a 2a 2a 2a |date(D$)|..pP****|
|00000fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001010| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 00 71 06 2a 7c 0d 00 |********|..q.*|..|
|00001020| 72 47 2a 7c 20 57 65 20 | 61 72 65 20 61 73 73 75 |rG*| We |are assu|
|00001030| 6d 69 6e 67 20 74 68 61 | 74 20 44 24 20 69 73 20 |ming tha|t D$ is |
|00001040| 61 6e 20 49 53 4f 2d 38 | 36 30 31 20 64 61 74 65 |an ISO-8|601 date|
|00001050| 2c 20 70 65 72 68 61 70 | 73 20 77 69 74 68 20 47 |, perhap|s with G|
|00001060| 45 44 43 4f 4d 0d 00 73 | 41 2a 7c 20 73 74 79 6c |EDCOM..s|A*| styl|
|00001070| 65 20 71 75 61 6c 69 66 | 69 65 72 73 2c 20 61 6e |e qualif|iers, an|
|00001080| 64 20 75 73 69 6e 67 20 | 22 78 78 22 20 6f 72 20 |d using |"xx" or |
|00001090| 6f 6d 69 73 73 69 6f 6e | 20 66 6f 72 20 75 6e 6b |omission| for unk|
|000010a0| 6e 6f 77 6e 73 2e 0d 00 | 74 06 2a 7c 0d 00 75 50 |nowns...|t.*|..uP|
|000010b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 00 76 04 |********|****..v.|
|00001100| 0d 00 77 1b ea 20 49 53 | 4f 24 2c 45 72 61 24 2c |..w.. IS|O$,Era$,|
|00001110| 51 24 2c 6d 24 2c 59 24 | 2c 58 25 0d 00 78 0b 49 |Q$,m$,Y$|,X%..x.I|
|00001120| 53 4f 24 3d 44 24 0d 00 | 79 1d c8 95 20 c0 44 24 |SO$=D$..|y... .D$|
|00001130| 2c 31 29 3d 22 20 22 3a | 44 24 3d c1 44 24 2c 32 |,1)=" ":|D$=.D$,2|
|00001140| 29 3a ce 0d 00 7a 17 51 | 24 20 3d 20 a4 55 70 70 |):...z.Q|$ = .Upp|
|00001150| 65 72 28 c0 44 24 2c 33 | 29 29 0d 00 7b 0b c8 8e |er(.D$,3|))..{...|
|00001160| 20 51 24 20 ca 0d 00 7c | 0d 20 20 c9 20 22 42 45 | Q$ ...||. . "BE|
|00001170| 54 22 0d 00 7d 11 20 20 | 20 20 44 24 3d c1 44 24 |T"..}. | D$=.D$|
|00001180| 2c 34 29 0d 00 7e 1f 20 | 20 20 20 58 25 20 3d 20 |,4)..~. | X% = |
|00001190| a7 a4 55 70 70 65 72 28 | 44 24 29 2c 22 41 4e 44 |..Upper(|D$),"AND|
|000011a0| 22 29 0d 00 7f 31 20 20 | 20 20 e7 20 58 25 3d 30 |")...1 | . X%=0|
|000011b0| 20 8c 20 3d 49 53 4f 24 | 3a f4 20 62 61 64 6c 79 | . =ISO$|:. badly|
|000011c0| 20 66 6f 72 6d 65 64 20 | 64 61 74 65 20 70 68 72 | formed |date phr|
|000011d0| 61 73 65 0d 00 80 47 20 | 20 20 20 3d 51 24 2b 22 |ase...G | =Q$+"|
|000011e0| 20 22 2b a4 5f 47 45 44 | 43 4f 4d 64 61 74 65 28 | "+._GED|COMdate(|
|000011f0| c0 44 24 2c 58 25 2d 31 | 29 29 2b 22 20 41 4e 44 |.D$,X%-1|))+" AND|
|00001200| 20 22 2b a4 5f 47 45 44 | 43 4f 4d 64 61 74 65 28 | "+._GED|COMdate(|
|00001210| c1 44 24 2c 58 25 2b 33 | 29 29 0d 00 81 26 20 20 |.D$,X%+3|))...& |
|00001220| c9 20 22 41 42 54 22 2c | 22 45 53 54 22 2c 22 43 |. "ABT",|"EST","C|
|00001230| 41 4c 22 2c 22 42 45 46 | 22 2c 22 41 46 54 22 3a |AL","BEF|","AFT":|
|00001240| 0d 00 82 11 20 20 20 20 | 44 24 3d c1 44 24 2c 34 |.... |D$=.D$,4|
|00001250| 29 0d 00 83 0f 20 20 20 | 20 51 24 2b 3d 22 20 22 |).... | Q$+=" "|
|00001260| 0d 00 84 21 20 20 20 20 | c8 95 20 c0 44 24 2c 31 |...! |.. .D$,1|
|00001270| 29 3d 22 20 22 3a 44 24 | 3d c1 44 24 2c 32 29 3a |)=" ":D$|=.D$,2):|
|00001280| ce 0d 00 85 0e 20 20 7f | 3a 20 51 24 3d 22 22 0d |..... .|: Q$="".|
|00001290| 00 86 05 cb 0d 00 87 4f | 2a 7c 20 6e 6f 77 20 51 |.......O|*| now Q|
|000012a0| 24 20 68 6f 6c 64 73 20 | 61 6e 79 20 71 75 61 6c |$ holds |any qual|
|000012b0| 69 66 69 65 72 20 6f 6e | 20 74 68 69 73 20 64 61 |ifier on| this da|
|000012c0| 74 65 2c 20 44 24 20 68 | 61 73 20 6c 65 66 74 20 |te, D$ h|as left |
|000012d0| 77 68 69 74 65 73 70 61 | 63 65 20 73 74 72 69 70 |whitespa|ce strip|
|000012e0| 70 65 64 0d 00 88 0d 45 | 72 61 24 20 3d 20 22 22 |ped....E|ra$ = ""|
|000012f0| 0d 00 89 04 0d 00 8a 1e | 2a 7c 20 70 61 72 73 65 |........|*| parse|
|00001300| 20 6c 65 66 74 6d 6f 73 | 74 20 65 6c 65 6d 65 6e | leftmos|t elemen|
|00001310| 74 3a 0d 00 8b 28 e7 20 | 28 c0 44 24 2c 31 29 3c |t:...(. |(.D$,1)<|
|00001320| 3e 22 78 22 29 20 80 20 | ac 20 a4 44 69 67 69 74 |>"x") . |. .Digit|
|00001330| 28 c0 44 24 2c 31 29 29 | 20 8c 0d 00 8c 4f 20 20 |(.D$,1))| ....O |
|00001340| 2a 7c 20 6c 6f 67 69 63 | 61 6c 6c 79 20 61 6c 6c |*| logic|ally all|
|00001350| 20 74 68 61 74 20 63 61 | 6e 20 62 65 20 68 65 72 | that ca|n be her|
|00001360| 65 20 69 73 20 22 42 2e | 43 2e 22 2c 20 70 61 72 |e is "B.|C.", par|
|00001370| 73 65 20 6f 66 66 20 77 | 68 6f 6c 65 20 73 74 72 |se off w|hole str|
|00001380| 69 6e 67 20 75 70 20 74 | 6f 0d 00 8d 50 20 20 2a |ing up t|o...P *|
|00001390| 7c 20 6e 65 78 74 20 77 | 68 69 74 65 73 70 61 63 || next w|hitespac|
|000013a0| 65 20 69 6e 74 6f 20 45 | 72 61 24 2e 20 45 72 61 |e into E|ra$. Era|
|000013b0| 24 20 77 69 6c 6c 20 62 | 65 20 74 68 65 20 6c 61 |$ will b|e the la|
|000013c0| 73 74 20 69 74 65 6d 20 | 69 6e 20 61 20 47 45 44 |st item |in a GED|
|000013d0| 43 4f 4d 20 64 61 74 65 | 2c 0d 00 8e 2a 20 20 2a |COM date|,...* *|
|000013e0| 7c 20 73 6f 20 65 6e 73 | 75 72 65 20 69 74 20 67 || so ens|ure it g|
|000013f0| 65 74 73 20 61 20 6c 65 | 61 64 69 6e 67 20 73 70 |ets a le|ading sp|
|00001400| 61 63 65 0d 00 8f 0e 20 | 20 45 72 61 24 3d 22 20 |ace.... | Era$=" |
|00001410| 22 0d 00 90 36 20 20 e7 | 20 44 24 3c 3e 22 22 20 |"...6 .| D$<>"" |
|00001420| c8 95 20 c0 44 24 2c 31 | 29 3c 3e 22 20 22 3a 45 |.. .D$,1|)<>" ":E|
|00001430| 72 61 24 2b 3d c0 44 24 | 2c 31 29 3a 44 24 3d c1 |ra$+=.D$|,1):D$=.|
|00001440| 44 24 2c 32 29 3a ce 0d | 00 91 1f 20 20 c8 95 20 |D$,2):..|... .. |
|00001450| c0 44 24 2c 31 29 3d 22 | 20 22 3a 44 24 3d c1 44 |.D$,1)="| ":D$=.D|
|00001460| 24 2c 32 29 3a ce 0d 00 | 92 05 cd 0d 00 93 4e 2a |$,2):...|......N*|
|00001470| 7c 20 6e 6f 77 20 51 24 | 20 3d 20 71 75 61 6c 69 || now Q$| = quali|
|00001480| 66 69 65 72 2b 22 20 22 | 2c 20 45 72 61 24 20 3d |fier+" "|, Era$ =|
|00001490| 20 22 20 22 2b 65 72 61 | 2c 20 44 24 20 68 61 73 | " "+era|, D$ has|
|000014a0| 20 6c 65 66 74 20 77 68 | 69 74 65 73 70 61 63 65 | left wh|itespace|
|000014b0| 20 73 74 72 69 70 70 65 | 64 0d 00 94 51 2a 7c 20 | strippe|d...Q*| |
|000014c0| 6c 65 66 74 6d 6f 73 74 | 20 70 61 72 74 20 6f 66 |leftmost| part of|
|000014d0| 20 44 24 20 6e 6f 77 20 | 2a 6d 75 73 74 2a 20 62 | D$ now |*must* b|
|000014e0| 65 20 74 68 65 20 79 65 | 61 72 2c 20 6f 72 20 77 |e the ye|ar, or w|
|000014f0| 65 20 68 61 76 65 20 61 | 20 62 61 64 6c 79 20 66 |e have a| badly f|
|00001500| 6f 72 6d 65 64 20 64 61 | 74 65 0d 00 95 2f e7 20 |ormed da|te.../. |
|00001510| 28 c0 44 24 2c 31 29 3c | 3e 22 78 22 29 20 80 20 |(.D$,1)<|>"x") . |
|00001520| ac 20 a4 44 69 67 69 74 | 28 c0 44 24 2c 31 29 29 |. .Digit|(.D$,1))|
|00001530| 20 8c 20 3d 20 49 53 4f | 24 0d 00 96 04 0d 00 97 | . = ISO|$.......|
|00001540| 3e 58 25 20 3d 20 a7 44 | 24 2c 22 2e 22 29 20 20 |>X% = .D|$,".") |
|00001550| 20 20 20 20 3a f4 20 69 | 66 20 6e 6f 20 64 6f 74 | :. i|f no dot|
|00001560| 20 69 6e 20 64 61 74 65 | 2c 20 6d 75 73 74 20 62 | in date|, must b|
|00001570| 65 20 6a 75 73 74 20 79 | 65 61 72 0d 00 98 17 e7 |e just y|ear.....|
|00001580| 20 58 25 3d 30 20 8c 3d | 51 24 2b 44 24 2b 45 72 | X%=0 .=|Q$+D$+Er|
|00001590| 61 24 0d 00 99 12 59 24 | 20 3d 20 c0 44 24 2c 58 |a$....Y$| = .D$,X|
|000015a0| 25 2d 31 29 0d 00 9a 12 | 44 24 20 3d 20 c1 44 24 |%-1)....|D$ = .D$|
|000015b0| 2c 58 25 2b 31 29 0d 00 | 9b 47 2a 7c 20 6e 6f 77 |,X%+1)..|.G*| now|
|000015c0| 20 51 24 20 3d 20 71 75 | 61 6c 69 66 69 65 72 2b | Q$ = qu|alifier+|
|000015d0| 22 20 22 2c 20 45 72 61 | 24 20 3d 20 22 20 22 2b |" ", Era|$ = " "+|
|000015e0| 65 72 61 2c 20 59 24 3d | 79 65 61 72 2c 20 44 24 |era, Y$=|year, D$|
|000015f0| 20 72 65 73 74 20 6f 66 | 20 64 61 74 65 0d 00 9c | rest of| date...|
|00001600| 11 58 25 20 3d 20 a7 44 | 24 2c 22 2e 22 29 0d 00 |.X% = .D|$,".")..|
|00001610| 9d 48 e7 20 58 25 3d 30 | 20 8c 20 3d 20 51 24 2b |.H. X%=0| . = Q$+|
|00001620| a4 6d 6f 6e 74 68 28 44 | 24 29 2b 59 24 2b 45 72 |.month(D|$)+Y$+Er|
|00001630| 61 24 20 3a f4 20 44 24 | 20 6d 75 73 74 20 68 61 |a$ :. D$| must ha|
|00001640| 76 65 20 62 65 65 6e 20 | 6a 75 73 74 20 74 68 65 |ve been |just the|
|00001650| 20 6d 6f 6e 74 68 0d 00 | 9e 3b 2a 7c 20 65 6c 73 | month..|.;*| els|
|00001660| 65 20 70 61 72 73 65 20 | 6f 66 66 20 6d 6f 6e 74 |e parse |off mont|
|00001670| 68 2c 20 6c 65 61 76 69 | 6e 67 20 44 24 20 61 73 |h, leavi|ng D$ as|
|00001680| 20 74 68 65 20 64 61 79 | 2d 69 6e 2d 6d 6f 6e 74 | the day|-in-mont|
|00001690| 68 0d 00 9f 1a 6d 24 20 | 3d 20 a4 6d 6f 6e 74 68 |h....m$ |= .month|
|000016a0| 28 c0 44 24 2c 58 25 2d | 31 29 29 0d 00 a0 12 44 |(.D$,X%-|1))....D|
|000016b0| 24 20 3d 20 c1 44 24 2c | 58 25 2b 31 29 0d 00 a1 |$ = .D$,|X%+1)...|
|000016c0| 04 0d 00 a2 4b 2a 7c 20 | 47 45 44 43 4f 4d 20 63 |....K*| |GEDCOM c|
|000016d0| 61 6e 27 74 20 72 65 70 | 72 65 73 65 6e 74 20 31 |an't rep|resent 1|
|000016e0| 39 30 31 2e 78 78 2e 32 | 34 20 73 6f 20 74 68 72 |901.xx.2|4 so thr|
|000016f0| 6f 77 20 61 77 61 79 20 | 74 68 65 20 64 61 79 2d |ow away |the day-|
|00001700| 69 6e 2d 6d 6f 6e 74 68 | 20 3a 2d 28 0d 00 a3 4e |in-month| :-(...N|
|00001710| 2a 7c 20 79 6f 75 20 6d | 69 67 68 74 20 63 68 6f |*| you m|ight cho|
|00001720| 6f 73 65 20 74 6f 20 72 | 65 74 75 72 6e 20 49 53 |ose to r|eturn IS|
|00001730| 4f 24 20 61 74 20 74 68 | 69 73 20 70 6f 69 6e 74 |O$ at th|is point|
|00001740| 2c 20 61 73 20 69 74 20 | 69 73 20 6e 6f 74 20 75 |, as it |is not u|
|00001750| 6e 63 6f 6d 6d 6f 6e 20 | 74 6f 0d 00 a4 4d 2a 7c |ncommon |to...M*||
|00001760| 20 77 61 6e 74 20 74 6f | 20 72 65 70 72 65 73 65 | want to| represe|
|00001770| 6e 74 20 74 68 61 74 20 | 73 6f 72 74 20 6f 66 20 |nt that |sort of |
|00001780| 64 61 74 65 20 28 66 6f | 72 20 69 6e 73 74 61 6e |date (fo|r instan|
|00001790| 63 65 2c 20 6f 6e 65 20 | 62 69 74 20 6f 66 20 65 |ce, one |bit of e|
|000017a0| 76 69 64 65 6e 63 65 0d | 00 a5 4d 2a 7c 20 68 61 |vidence.|..M*| ha|
|000017b0| 73 20 67 69 76 65 6e 20 | 79 6f 75 20 74 68 65 20 |s given |you the |
|000017c0| 79 65 61 72 20 6f 66 20 | 61 6e 20 65 76 65 6e 74 |year of |an event|
|000017d0| 2c 20 77 68 69 6c 73 74 | 20 61 6e 6f 74 68 65 72 |, whilst| another|
|000017e0| 20 68 61 73 20 67 69 76 | 65 6e 20 79 6f 75 20 61 | has giv|en you a|
|000017f0| 20 64 61 79 0d 00 a6 4a | 2a 7c 20 28 6c 69 6b 65 | day...J|*| (like|
|00001800| 20 61 6e 20 75 6e 64 61 | 74 65 64 20 6c 65 74 74 | an unda|ted lett|
|00001810| 65 72 20 73 61 79 69 6e | 67 20 22 74 68 65 20 32 |er sayin|g "the 2|
|00001820| 34 74 68 20 69 6e 73 74 | 2e 22 29 2e 20 47 45 44 |4th inst|."). GED|
|00001830| 43 4f 4d 20 61 6c 6c 6f | 77 73 20 74 68 65 0d 00 |COM allo|ws the..|
|00001840| a7 4e 2a 7c 20 6f 70 74 | 69 6f 6e 20 6f 66 20 61 |.N*| opt|ion of a|
|00001850| 6e 20 75 6e 73 74 72 75 | 63 74 75 72 65 64 20 73 |n unstru|ctured s|
|00001860| 74 72 69 6e 67 20 69 6e | 20 61 20 73 75 63 68 20 |tring in| a such |
|00001870| 61 20 63 61 73 65 2c 20 | 61 6e 64 20 61 6e 20 49 |a case, |and an I|
|00001880| 53 4f 2d 64 61 74 65 20 | 77 69 74 68 0d 00 a8 3e |SO-date |with...>|
|00001890| 2a 7c 20 22 78 78 22 20 | 66 6f 72 20 6f 6e 65 20 |*| "xx" |for one |
|000018a0| 66 69 65 6c 64 20 69 73 | 20 74 68 65 72 65 66 6f |field is| therefo|
|000018b0| 72 65 20 70 65 72 6d 69 | 74 74 65 64 2c 20 69 66 |re permi|tted, if|
|000018c0| 20 79 6f 75 20 77 69 73 | 68 2e 0d 00 a9 26 e7 20 | you wis|h....&. |
|000018d0| 6d 24 3d 22 22 20 8c 20 | 3d 20 51 24 2b 59 24 2b |m$="" . |= Q$+Y$+|
|000018e0| 45 72 61 24 20 3a f4 20 | 6f 72 20 3d 49 53 4f 24 |Era$ :. |or =ISO$|
|000018f0| 0d 00 aa 04 0d 00 ab 4b | 2a 7c 20 73 68 6f 75 6c |.......K|*| shoul|
|00001900| 64 20 62 65 20 6c 65 66 | 74 20 77 69 74 68 20 6a |d be lef|t with j|
|00001910| 75 73 74 20 64 61 79 2d | 6f 66 2d 6d 6f 6e 74 68 |ust day-|of-month|
|00001920| 20 64 69 67 69 74 73 20 | 2d 20 63 6c 69 70 20 6c | digits |- clip l|
|00001930| 65 61 64 69 6e 67 20 7a | 65 72 6f 28 65 73 29 0d |eading z|ero(es).|
|00001940| 00 ac 1d c8 95 20 c0 44 | 24 2c 31 29 3d 22 30 22 |..... .D|$,1)="0"|
|00001950| 20 44 24 3d c1 44 24 2c | 32 29 3a ce 0d 00 ad 04 | D$=.D$,|2):.....|
|00001960| 0d 00 ae 2b e7 20 a4 4e | 75 6d 65 72 69 63 28 44 |...+. .N|umeric(D|
|00001970| 24 29 20 8c 20 3d 20 51 | 24 2b 44 24 2b 22 20 22 |$) . = Q|$+D$+" "|
|00001980| 2b 6d 24 2b 59 24 2b 45 | 72 61 24 0d 00 af 13 3d |+m$+Y$+E|ra$....=|
|00001990| 20 51 24 2b 6d 24 2b 59 | 24 2b 45 72 61 24 0d 00 | Q$+m$+Y|$+Era$..|
|000019a0| b0 04 0d 00 b1 10 dd 20 | a4 6d 6f 6e 74 68 28 6d |....... |.month(m|
|000019b0| 24 29 0d 00 b2 50 2a 7c | 20 6d 24 20 6d 75 73 74 |$)...P*|| m$ must|
|000019c0| 20 63 6f 6e 74 61 69 6e | 20 6f 6e 6c 79 20 61 20 | contain| only a |
|000019d0| 6d 6f 6e 74 68 20 2d 20 | 73 68 6f 75 6c 64 20 62 |month - |should b|
|000019e0| 65 20 32 20 64 69 67 69 | 74 73 2c 20 62 75 74 20 |e 2 digi|ts, but |
|000019f0| 77 65 20 77 69 6c 6c 20 | 61 63 63 65 70 74 20 6f |we will |accept o|
|00001a00| 6e 65 0d 00 b3 08 ea 20 | 58 25 0d 00 b4 19 e7 20 |ne..... |X%..... |
|00001a10| a9 28 6d 24 29 20 3d 20 | 31 20 6d 24 3d 22 30 22 |.(m$) = |1 m$="0"|
|00001a20| 2b 6d 24 0d 00 b5 48 2a | 7c 20 69 66 20 74 68 65 |+m$...H*|| if the|
|00001a30| 20 6d 6f 6e 74 68 20 69 | 73 20 6c 6f 6e 67 65 72 | month i|s longer|
|00001a40| 20 74 68 61 6e 20 32 2c | 20 77 65 20 77 69 6c 6c | than 2,| we will|
|00001a50| 20 6a 75 73 74 20 6f 75 | 74 70 75 74 20 69 74 3a | just ou|tput it:|
|00001a60| 20 61 20 62 69 74 20 69 | 66 66 79 0d 00 b6 18 e7 | a bit i|ffy.....|
|00001a70| 20 a9 28 6d 24 29 3e 32 | 20 8c 20 3d 20 6d 24 2b | .(m$)>2| . = m$+|
|00001a80| 22 20 22 0d 00 b7 04 0d | 00 b8 34 58 25 20 3d 20 |" ".....|..4X% = |
|00001a90| a7 22 30 31 20 30 32 20 | 30 33 20 30 34 20 30 35 |."01 02 |03 04 05|
|00001aa0| 20 30 36 20 30 37 20 30 | 38 20 30 39 20 31 30 20 | 06 07 0|8 09 10 |
|00001ab0| 31 31 20 31 32 20 22 2c | 6d 24 29 0d 00 b9 33 e7 |11 12 ",|m$)...3.|
|00001ac0| 20 58 25 3d 30 20 8c 20 | 3d 22 22 20 20 3a f4 20 | X%=0 . |="" :. |
|00001ad0| 6e 6f 74 20 72 65 63 6f | 67 6e 69 73 65 64 2c 20 |not reco|gnised, |
|00001ae0| 74 79 70 69 63 61 6c 6c | 79 20 22 78 78 22 0d 00 |typicall|y "xx"..|
|00001af0| ba 37 3d 20 c1 22 4a 41 | 4e 46 45 42 4d 41 52 41 |.7= ."JA|NFEBMARA|
|00001b00| 50 52 4d 41 59 4a 55 4e | 4a 55 4c 41 55 47 53 45 |PRMAYJUN|JULAUGSE|
|00001b10| 50 4f 43 54 4e 4f 56 44 | 45 43 22 2c 58 25 2c 33 |POCTNOVD|EC",X%,3|
|00001b20| 29 2b 22 20 22 0d ff | |)+" ".. | |
+--------+-------------------------+-------------------------+--------+--------+