home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG128.ARC / FOREBEAR.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  4KB  |  139 lines

  1. * FOREBEAR.CMD Lead program for an Ahnentafel chart or Forebears Tree
  2. SELECT PRIMARY
  3. GO &mno
  4. * If subject's father & mother unknown, say so and finish
  5. IF fath = 0 .AND. moth = 0
  6.    SET PRINT OFF
  7.    @ 5,0 SAY CHR(27)+'Y'
  8.    @ 12,20 SAY "No Forebears of "+TRIM(firstnms)+" "+TRIM(surname)+;
  9.      " "+"on File"
  10.    ?
  11.    ? "                          Press <RETURN>"
  12.    SET CONSOLE OFF
  13.    WAIT
  14.    SET CONSOLE ON
  15.    RETURN
  16. ENDIF
  17. * Ask whether Ahnentafel Chart or Forebears Tree required.
  18. STORE ' ' TO chtree
  19. DO WHILE .NOT. chtree $ 'AF'
  20.    @ 20,20 SAY "<F>orebears Tree or <A>hnentafel Chart < >"
  21.    @ 20,60 GET chtree PICTURE "!"
  22.    READ
  23. ENDDO
  24.  RELEASE GETS
  25. * Ahnentafel Chart selected
  26. IF chtree = 'A'
  27.    IF xpaper = 'U'
  28.       STORE 66 TO plength
  29.    ELSE
  30.       STORE 70 TO plength
  31.    ENDIF
  32.    IF myprnt = 'P'
  33.       @ 5,0 SAY CHR(27)+'Y'
  34.       @ 9,30 SAY "Turn Printer ON"
  35.       SET PRINT ON
  36.       ?? '  '
  37.       ??  CHR(27)+"E"
  38.       SET MARGIN TO 8
  39.       @ 9,30
  40.    ENDIF
  41.    DO fahnchrt
  42.    ? CHR(27)+"N"
  43.    SET PRINT OFF
  44.    ? "                          Press <RETURN>"
  45.    SET CONSOLE OFF
  46.     WAIT
  47.    SET CONSOLE ON
  48.    RELEASE chtree,plength,a,b,n,page,dash,lines,subj,mno,nomore
  49.    RETURN
  50. ENDIF
  51. * Forebears Tree selected
  52. IF myprnt = 'P'
  53.    @ 5,0 SAY CHR(27)+'Y'
  54.    @ 9,30 "                   Turn Printer ON "
  55. SET PRINT ON
  56. ?? "  "
  57. SET MARGIN TO 4
  58. ?? CHR(27)+"B"+CHR(27)+">"
  59. @ 9,30
  60. ENDIF
  61. IF myprnt = 'P'
  62.    STORE CHR(27)+"#"+CHR(54)+CHR(27)+"$" TO vert
  63.    STORE CHR(27)+"#"+CHR(53)+CHR(27)+"$" TO dash
  64.    STORE CHR(27)+"#"+CHR(56)+CHR(27)+"$" TO dcorn
  65.    STORE CHR(27)+"#"+CHR(58)+CHR(27)+"$" TO ucorn
  66.    STORE CHR(27)+"#"+CHR(65)+CHR(27)+"$" TO dnarrow
  67. ELSE
  68. STORE "|" TO vert
  69. STORE "-" TO dash
  70. STORE "." TO dcorn
  71. STORE "`" TO ucorn
  72. STORE "|" TO dnarrow
  73. STORE dnarrow+"        " TO arr
  74. STORE dash+dash+dash+dash+dash+dash+dash+dash TO hor
  75. STORE 'STORE dcorn+hor+trim(firstnms)+"  "+trim(surname) TO name' TO dnom
  76. STORE 'STORE ucorn+hor+trim(firstnms)+"  "+trim(surname) TO name' TO unom
  77. STORE vert+"        " TO l
  78. STORE $(STR(0,81),1,80) TO spaces
  79. STORE $(spaces,1,9) TO spc1
  80. STORE $(spaces,1,18) TO spc2
  81. STORE $(spaces,1,27) TO spc3
  82. STORE $(spaces,1,36) TO spc4
  83. STORE $(spaces,1,45) TO spc5
  84. STORE $(spaces,1,54) TO spc6
  85. STORE $(spaces,1,63) TO spc7
  86. STORE $(spaces,1,72) TO spc8
  87. store 0 to n1,n2,n3,n4
  88. store &mno to mseed
  89. ERASE
  90. GO mseed
  91. IF fath = 0 .AND. moth = 0
  92.    SET PRINT OFF
  93.    @12,15 SAY "No Forebears of "+trim(firstnms)+trim(surname)+;
  94.               " "+"on Record"
  95.    ?
  96.    ? "                          Press <RETURN>"
  97.    SET CONSOLE OFF
  98.    WAIT
  99.    SET CONSOLE ON
  100.    RETURN
  101. ENDIF
  102. STORE "FOREBEARS TREE for "+TRIM(firstnms)+" "+TRIM(surname) TO lineone
  103. ? lineone+$(STR(0,80),1,58-LEN(lineone))+"Printed "+date()
  104. ?
  105. ? '                                             GREAT'
  106. ? '                                    GREAT    GREAT'
  107. ? '                           GREAT    GREAT    GREAT'
  108. ? '                  GRAND    GRAND    GRAND    GRAND'
  109. ? 'PERSON   PARENTS  PARENTS  PARENTS  PARENTS  PARENTS'
  110. ? arr+arr+arr+arr+arr+arr
  111. ?
  112. RELEASE dnarrow,arr,lineone
  113. if fath>0
  114.    goto fath
  115.    store # to n1
  116. endif
  117. do FHALFONE
  118. goto mseed
  119. ? trim(firstnms)+" "+trim(surname)+" (1)"
  120. ? vert
  121. if moth>0
  122.    goto moth
  123.    store# to n1
  124. endif
  125. do FHALFTWO
  126. ?
  127. SET PRINT OFF
  128. ?
  129. ? "                          Press <RETURN>"
  130. SET CONSOLE OFF
  131.  WAIT
  132. SET CONSOLE ON
  133. RELEASE ALL LIKE sp*
  134. RELEASE l,n1,n2,n3,n4,gt,gd,pt,ps,mno,mseed
  135. RELEASE name,chtree,vert,unom,dnom,ucorn,dcorn,dash
  136. ERASE
  137. RETURN
  138. *EOF
  139.