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

  1. /* Kalender */
  2.  
  3. Options Results
  4.  
  5. ADDRESS DataBase
  6.  
  7. RequestText "Terminübersicht für Jahr:"
  8. IF RC = 5 THEN
  9.   EXIT
  10. jahr = result
  11.  
  12. Display Off
  13.  
  14. Total
  15. IF result > 0 THEN DO
  16.   LeftTotal
  17.   weiter = 1
  18.   DO WHILE weiter = 1
  19.     GetData $F65
  20.     IF result > jahr THEN
  21.       weiter = 0
  22.     ELSE DO
  23.       RightOne
  24.       IF RC ~= 0 THEN
  25.         weiter = 0
  26.     END
  27.   END
  28. END
  29.  
  30. l = jahr-1
  31. z = 36+((5*l) % 4)-(l % 100)+(l % 400)
  32. z = z-(7*(z % 7))
  33. IF z = 0 THEN
  34.   z = 7
  35. q.1 = z-1
  36.  
  37. tage.1 = 31
  38. tage.2 = 28
  39. IF (jahr // 4) = 0 THEN tage.2 = 29
  40. tage.3 = 31
  41. tage.4 = 30
  42. tage.5 = 31
  43. tage.6 = 30
  44. tage.7 = 31
  45. tage.8 = 31
  46. tage.9 = 30
  47. tage.10 = 31
  48. tage.11 = 30
  49. tage.12 = 31
  50.  
  51. day.0 = "Mo"
  52. day.1 = "Di"
  53. day.2 = "Mi"
  54. day.3 = "Do"
  55. day.4 = "Fr"
  56. day.5 = "Sa"
  57. day.6 = "So"
  58.  
  59. monat.1 = "Januar"
  60. monat.2 = "Febuar"
  61. monat.3 = "März"
  62. monat.4 = "April"
  63. monat.5 = "Mai"
  64. monat.6 = "Juni"
  65. monat.7 = "Juli"
  66. monat.8 = "August"
  67. monat.9 = "September"
  68. monat.10 = "Oktober"
  69. monat.11 = "November"
  70. monat.12 = "Dezember"
  71.  
  72. j = 2
  73. DO WHILE j <= 12
  74.   n = j - 1
  75.   q.j = tage.n - 28 + q.n
  76.   IF q.j > 7 THEN
  77.     q.j = q.j - 7
  78.   j = j + 1
  79. END
  80.  
  81. j = 1
  82. k = 1
  83.  
  84.  
  85. DO WHILE j < 13
  86.   IF j // 2 ~= 0 THEN DO
  87.     f = 1
  88.     ADD
  89.     PutData $F63 monat.j
  90.     PutData $F65 jahr
  91.     END
  92.   ELSE DO
  93.     f = 32
  94.     PutData $F64 monat.j
  95.     END
  96.  
  97.   k = 1
  98.   str = D2C(9)
  99.   DO WHILE k <= tage.j
  100.     n = (q.j + k - 1) // 7
  101.     IF k < 10 THEN
  102.       str = str || " "
  103.     str = str || k || " " || day.n || " "
  104.     PutData $F || f str
  105.     f = f + 1
  106.     str = D2C(9)
  107.     k = k + 1
  108.   END
  109.  
  110.   j = j + 1
  111.   k = 1
  112. END
  113.  
  114. LeftOne
  115. LeftOne
  116. LeftOne
  117. LeftOne
  118. LeftOne
  119. Display On
  120. Show
  121.  
  122. ADDRESS
  123.