home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug073.arc / GENELOGY.LBR / FAHNCHRT.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  2KB  |  87 lines

  1. * FAHNCHRT.CMD  for an Ahnentafel Forebears chart
  2. ERASE
  3. IF myprnt = 'Y'
  4.    SET PRINT ON
  5.    ?? '  '
  6.    ?? CHR(27)+'E'
  7.    SET MARGIN TO 8
  8. ENDIF
  9. STORE '000' TO n
  10. STORE 0 TO fath,moth
  11. STORE 1 TO page
  12. STORE t TO nomore
  13. STORE f TO male
  14. STORE '------------------------' TO dash
  15. GO VAL(mno)
  16. STORE 'AHNENTAFEL CHART for '+TRIM(firstnms)+' '+surname TO header
  17. ? header+$(STR(0,80),1,62-LEN(header))+"Printed "+date()
  18. ?
  19. ? "Notes:  b. = born, d. =died, m. = married, * = baptism,;
  20.  c. = circa"+$(STR(0,10),1,6)+"Page "+STR(page,1)
  21. ?
  22. ? dash+dash+dash+$(dash,1,6)
  23. RELEASE header
  24. STORE 5 TO lines
  25. STORE n+str(#,4) TO n
  26. STORE ' 1. ' TO idnumb
  27. do fahnprnt
  28. release mno
  29. ?
  30. ? dash+' PARENTS '+dash+$(dash,1,21)
  31. STORE lines+2 TO lines
  32. STORE 1 TO a,b
  33. DO fahnloop
  34. IF nomore
  35.    RETURN
  36. ENDIF
  37. ? dash+' GRAND PARENTS '+dash+$(dash,1,15)
  38. STORE lines+2 TO lines
  39. STORE t TO nomore
  40. STORE 2 TO a,b
  41. DO fahnloop
  42. IF nomore
  43.    RETURN
  44. ENDIF
  45. ? dash+' GREAT GRAND PARENTS '+dash+$(dash,1,9)
  46. STORE lines+2 TO lines
  47. STORE t TO nomore
  48. STORE 4 TO a,b
  49. DO fahnloop
  50. IF nomore
  51.    RETURN
  52. ENDIF
  53. ? dash+' GREAT GREAT GRAND PARENTS '+dash+$(dash,1,3)
  54. STORE lines+2 TO lines
  55. STORE t TO nomore
  56. STORE 8 TO a,b
  57. DO fahnloop
  58. IF nomore
  59.    RETURN
  60. ENDIF
  61. ? dash+' GREAT GREAT GREAT GRAND PARENTS '+$(dash,1,21)
  62. STORE lines+2 TO lines
  63. STORE 16 TO a,b
  64. DO WHILE a < 2*b
  65.    DO CASE
  66.       CASE $(n,4*a,4) <> '0000'
  67.          GO val($(n,4*a,4))
  68.          STORE STR(#,4) TO subj
  69.          IF fath> 0
  70.             GO fath
  71.             STORE STR(2*a,2)+'. ' TO idnumb
  72.             STORE t TO male
  73.             DO fahnprnt
  74.          ENDIF
  75.          GO &subj
  76.          IF moth > 0
  77.             GO moth
  78.             STORE STR(2*a+1,2)+'. ' TO idnumb
  79.             DO fahnprnt
  80.         ENDIF
  81.       OTHERWISE
  82.    ENDCASE
  83.    STORE a+1 TO a
  84. ENDDO
  85. ?
  86. RETURN
  87.