home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / applications / databases / databasepro / filofax / geburtstage.rexx < prev    next >
OS/2 REXX Batch file  |  1995-07-10  |  1KB  |  80 lines

  1. /* Übernahme der Geburtstage aus der Adressendatei in die Termindatei */
  2.  
  3. OPTIONS RESULTS
  4.  
  5. AdressenBase = 1
  6. TermineBase  = 2
  7. GeburtsFeld  = 16
  8.  
  9. ADDRESS DataBase
  10.  
  11. RequestText "Geburtstage für Jahr:"
  12. IF RC = 5 THEN
  13.   EXIT
  14. jahr = result
  15.  
  16. say jahr
  17. Search jahr
  18. IF RC = 5 THEN
  19.   EXIT
  20. Current
  21. DS = result
  22.  
  23. Display Off
  24.  
  25. Base AdressenBase
  26. LeftTotal
  27.  
  28. weiter = 1
  29. DO WHILE weiter = 1
  30.   GetData $F || GeburtsFeld
  31.   geb = result
  32.   IF COMPARE(geb,"") ~= 0 THEN DO
  33.     monat = SubStr(geb,4,2)
  34.     tag   = SubStr(geb,1,2)
  35.     alt   = SubStr(geb,7,4)
  36.     IF monat // 2 = 0 THEN
  37.       tag = tag + 31
  38.     monat = (monat - 1) % 2
  39.     GetData $F3
  40.     name = LEFT(result,1)
  41.     GetData $F2
  42.     name = name || ". " || result || " (" || jahr-alt || ")"
  43.  
  44.     Base TermineBase
  45.     CALL goto DS+monat
  46.     GetData $F || tag
  47.     str = result || name
  48.     PutData $F || tag D2C(9) || str
  49.     Base AdressenBase
  50.  
  51.   END
  52.   RightOne
  53.   IF RC ~= 0 THEN
  54.     weiter = 0
  55. END
  56.  
  57. Base TermineBase
  58. CALL goto DS
  59. Display On
  60. EXIT
  61.  
  62. goto:
  63.  
  64. ARG nr
  65. Current
  66. cur = result
  67. IF cur < nr THEN DO
  68.   DO WHILE cur < nr
  69.     RightOne
  70.     cur = cur + 1
  71.     END
  72.   END
  73. ELSE DO
  74.   DO WHILE cur > nr
  75.     LeftOne
  76.     cur = cur - 1
  77.     END
  78.   END
  79. RETURN
  80.