4
* @author Marc Nozell <marc@nozell.com>
6
* @output pdb import files
9
* This program produces a report of all INDI's in the database, with
10
* sorted names as output for inport into Tom Dyas' Open Source DB
15
* Marc Nozell <marc@nozell.com>
17
* This report generator works only with the LifeLines Genealogy program
19
* It will produce a report of all INDI's in the database, with
20
* sorted names as output for inport into Tom Dyas' Open Source DB
23
* 0) Obtain Tom Wetmore's LifeLines genealogy program for Unix.
24
* See http://lifelines.sourceforge.net/
26
* 1) Obtain Kenneth Albanowski's <kjahds@kjahds.com> pilot-link
27
* package. The Microsoft Windows-based Palm desktop should also
28
* work. Most Linux distributions include pilot-link (check
29
* http://rpmfind.net) and should build on most UNIXes.
31
* 2) Obtain Tom Dyas' <tdyas@vger.rutgers.edu> "DB: Open Source
32
* Database Program for PalmOS" and supporting tools from
33
* http://pilot-db.sourceforge.net/
35
* 3) Run this lifelines report. It will generate two files, lldb.info
38
* 5) Run the CSV to PDB conversion tool like this:
39
* csv2pdb --info=lldb.info lldb.csv lldb.pdb
41
* 5) Install the converted info to the Palm device like this:
42
* pilot-link -i ll.pdb
50
* Cleaned up output files
51
* Updated to new version Dyas' conversion tool
52
* (pre-palm-db-tools-0.2.0.tar.gz)
58
* Revision 1.7 2004/07/19 05:54:55 dr_doom
59
* Merge Vincent Broman Changes to reports
61
* Revision 1.6 2003/01/19 02:50:23 dr_doom
62
* move 1 paragraph description to immediately before @description for index.html
64
* Revision 1.5 2000/11/28 21:39:45 nozell
65
* Add keyword tags to all reports
66
* Extend the report script menu to display script output format
68
* Revision 1.4 2000/11/27 20:48:15 nozell
69
* Header is to verbose, use just Log
71
* Revision 1.3 2000/11/27 20:46:26 nozell
74
* Revision 1.2 2000/11/27 20:45:43 nozell
82
/* newfile (concat (database (), ".info"), 0) */
84
newfile (concat ("lldb.info"), 0)
86
"title \"Genealogy\"\n"
90
"field \"ID\" string 25\n"
91
"field \"Name\" string 80\n"
92
"field \"Birth\" string 80\n"
93
"field \"Death\" string 80\n"
94
"field \"SpouseID\" string 80\n"
95
"field \"ChildrenID\" string 80\n"
96
"field \"FatherID\" string 80\n"
97
"field \"MotherID\" string 80\n"
99
/* newfile (concat (database (), ".csv"), 0) */
101
newfile (concat ("lldb.csv"), 0)
108
print("Please wait...")
112
print(nl()) print("Found ") print(d(n)) print(" people.")
114
print("begin sorting") print(nl())
116
print("done sorting") print(nl())
118
/* col(1) "ID,Name,Birth,Death,SpouseID,ChildrenID,FatherID,MotherID" nl() */
120
forindiset(idx,indi,v,n) {
121
col(1) "\"" key(indi) "\""
123
"\""fullname(indi,1,0,30) "\""
126
call showvitals(indi)
127
call showspouse(indi)
129
call showparents(indi)
137
/************************************************************************/
142
if (and(b, short(b))) {
151
if (and(d, short(d))) {
163
/* "(" key(fath) ") " */
175
/* "(" key(moth) ") " */
183
/************************************************************************/
184
proc showspouse (i) {
186
if (eq(1, nspouses(i))) {
187
spouses(i, s, f, n) {
188
name(s) "(" key(s) ") "
192
spouses(i, s, f, n) {
193
ord(n) /* First, Second ... */
194
" " name(s) "(" key(s) ") "
200
/************************************************************************/
204
families(i, f, s, n) {
205
set(j, add(j, nchildren(f)))
219
families(i, f, s, n) {