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

  1. * LPLACE.CMD Called by L.CMD for list indexed by Name or Recd. No.
  2. * with dates and places of Birth, Death and Marriage and Spouses.
  3. DO lgetrec
  4. STORE $(STR(0,137),1,136) TO mspc
  5. STORE ' ' TO mspouse1,mspouse2
  6. STORE 0 TO mlines
  7. STORE 1 TO mpage
  8. IF myprnt = "P"
  9.    @ 6,0 SAY CHR(27)+'Y'
  10.    @ 6,30 SAY "Turn Printer ON"
  11.    SET PRINT ON
  12.    ?? "  "
  13.    ?? CHR(27)+"Q"+CHR(27)+"B"
  14.    @ 6,0
  15. ENDIF
  16. STORE ' ' TO order
  17. DO CASE
  18.    CASE type = 'N'
  19.       IF nom1 # nom2
  20.          STORE nom1+" to "+nom2 TO order
  21.       ELSE
  22.          STORE nom1+"s" TO order
  23.       ENDIF
  24.    CASE type = 'R'
  25.       STORE 'Records '+TRIM(mfirst)+' to '+TRIM(mlst) TO order
  26. ENDCASE
  27. ERASE
  28. ? "Printed "+date()+$(mspc,1,106)+"Page "+STR(mpage,2)
  29. ?
  30. ? order
  31. ?
  32. ? "RECD NAME"+$(mspc,1,28)+"BORN"+$(mspc,1,28)+"DIED"+;
  33.    $(mspc,1,28)+"MARRIED"
  34. ?
  35. STORE mlines+6 TO mlines
  36. DO WHILE &mvar <= mlast .AND. .NOT. EOF
  37.    STORE STR(#,4) TO temp
  38.    STORE TRIM(surname)+' '+firstnms TO mnom
  39.    ? STR(#,4)+' '+$(mnom,1,30)
  40.    IF borndate > ' ' .OR. dieddate > ' '
  41.       ?? ' '+borndate+$(mspc,1,21)+dieddate
  42.    ENDIF
  43.    STORE mlines+1 TO mlines
  44.    DO CASE
  45.       CASE spouse1 = 0
  46.       IF bornat > ' ' .OR. diedat > ' '
  47.          ? $(mspc,1,37)+bornat+'  '+diedat
  48.          STORE mlines+1 TO mlines
  49.       ENDIF
  50.       CASE spouse1 > 0 .AND. spouse2 = 0
  51.          ?? $(mspc,1,20)+weddate
  52.          IF bornat > ' ' .OR. diedat > ' ' .OR. wedat > ' '
  53.             ? $(mspc,1,37)+bornat+'  '+diedat+'  '+wedat
  54.              STORE mlines+1 TO mlines
  55.          ENDIF
  56.          GO spouse1
  57.          STORE TRIM(surname)+' '+firstnms TO mspouse1
  58.          ? $(mspc,1,101)+$(mspouse1,1,30)
  59.          STORE mlines+1 TO mlines
  60.          GO &temp
  61.       CASE spouse1 > 0 .AND. spouse2 > 0
  62.          GO spouse1
  63.          STORE TRIM(surname)+' '+firstnms TO mspouse1
  64.          ?? $(mspc,1,20)+'1. '+weddate
  65.          IF wedat > ' '
  66.             ? $(mspc,1,101)+wedat
  67.             STORE mlines+1 TO mlines
  68.          ENDIF
  69.          ? $(mspc,1,101)+$(mspouse1,1,30)
  70.          STORE mlines+1 TO mlines
  71.          GO &temp
  72.          GO spouse2
  73.          STORE TRIM(surname)+' '+firstnms TO mspouse2
  74.          ? $(mspc,1,101)+'2. '+weddate
  75.          STORE mlines+1 TO mlines
  76.          IF wedat > ' '
  77.             ? $(mspc,1,101)+wedat
  78.             STORE mlines+1 TO mlines
  79.          ENDIF
  80.          ? $(mspc,1,101)+$(mspouse2,1,30)
  81.          STORE mlines+1 TO mlines
  82.          GO &temp
  83.    ENDCASE
  84.    ?
  85.    STORE mlines+1 TO mlines
  86.    SKIP
  87.    IF type = 'R'
  88.       STORE STR(#,4) TO mvar
  89.    ENDIF
  90.    IF myprnt = 'P'
  91.       IF mlines+10 > mlength
  92.          SET CONSOLE OFF
  93.          DO WHILE mlength-mlines > 0
  94.             ?
  95.             STORE mlines+1 TO mlines
  96.          ENDDO
  97.          STORE mpage+1 TO mpage
  98.          ? "Printed "+date()+$(mspc,1,106)+"Page "+STR(mpage,2)
  99.          ?
  100.          ? "RECD NAME"+$(mspc,1,28)+"BORN"+$(mspc,1,28)+"DIED"+;
  101.             $(mspc,1,28)+"MARRIED"
  102.          ?
  103.          STORE 4 TO mlines
  104.          SET CONSOLE ON
  105.       ENDIF
  106.    ENDIF
  107. ENDDO
  108. IF myprnt ='P'
  109.    ? CHR(27)+'N'+CHR(27)+'A'
  110.    SET PRINT OFF
  111. ENDIF
  112. ?
  113. ? '                     Press <RETURN> when ready'
  114. SET CONSOLE OFF
  115. WAIT
  116. SET CONSOLE ON
  117. SET INDEX TO
  118. ERASE
  119. RETURN
  120.