home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug165.arc / RECONDAT.BAS < prev    next >
BASIC Source File  |  1979-12-31  |  3KB  |  84 lines

  1. 5  REM  Recondat.bas  -  Prompt V1 No7 April 91 p19
  2. 8 PRINT CHR$(26)    ' Clear the screen
  3. 10 INPUT "Enter date as day,month,year. <e.g. 31dec1991 > ";A$
  4. 20 IF LEN(A$) < 9 THEN A$="0"+A$
  5. 30 C$=LEFT$(A$,2)
  6. 40 B$=MID$(A$,3,3)
  7. 50 Y$=RIGHT$(A$,4)
  8. 60 IF VAL(Y$)=0 THEN PRINT "Year must be 4 digits long, e.g. 0900.":END
  9. 70 GOSUB 470: IF B$="0" THEN PRINT"Not a month error.":END
  10. 80 IF C$>"31" THEN PRINT "Too many days error.":END
  11. 90 D$=B$+C$+Y$
  12. 100 PRINT D$ " <- date as an 8 digit string."
  13. 110 D1$=LEFT$(D$,3):D2$=MID$(D$,4,3):D3$=RIGHT$(D$,2):D3$="0"+D3$
  14. 120 E1$=RIGHT$(D1$,1):E2$=LEFT$(D2$,1)
  15. 130 MID$(D1$,3)=E2$:MID$(D2$,1)=E1$
  16. 140 IF E1$="3" THEN MID$(D2$,1)="2":MID$(D3$,1)="1"
  17. 150 PRINT D1$ D2$ D3$" <- 9 digit string representing the date."
  18. 160 DA$=CHR$(VAL(D1$)+33)
  19. 170 DB$=CHR$(VAL(D2$)+33)
  20. 180 DC$=CHR$(VAL(D3$)+33)
  21. 190 PRINT "->"DA$ DB$ DC$"<- 3 digit compressed date string."
  22. 200 D$=DA$+DB$+DC$
  23. 210 OPEN "r",#1,"CM.COD",3
  24. 220 FIELD#1,3 AS DD$
  25. 230 LSET DD$=D$
  26. 240 PUT #1,1
  27. 250 GET #1,1
  28. 260 PRINT DD$ " <- read from file."
  29. 270 R1$=RIGHT$(STR$(ASC(DA$)-33),3)
  30. 280 IF LEFT$(R1$,1)=" " THEN MID$(R1$,1)="0"
  31. 290 IF LEN(R1$)=2 THEN R1$="0"+R1$
  32. 300 R2$=RIGHT$(STR$(ASC(DB$)-33),3)
  33. 310 IF LEFT$(R2$,1)=" " THEN MID$(R2$,1)="0"
  34. 320 IF LEN(R2$)=2 THEN R2$="0"+R2$
  35. 330 R3$=RIGHT$(STR$(ASC(DC$)-33),3)
  36. 340 IF LEFT$(R3$,1)=" " THEN MID$(R3$,1)="0"
  37. 350 E1$=RIGHT$(R1$,1):E2$=LEFT$(R2$,1):E3$=LEFT$(R3$,1)
  38. 360 MID$(R1$,3)=E2$:MID$(R2$,1)=E1$
  39. 370 IF E3$="1" THEN MID$(R1$,3)="3"
  40. 380 R3$=RIGHT$(R3$,2)
  41. 390 R$=R1$+R2$+R3$
  42. 400 PRINT R$ " <- 8 digit string representing the date."
  43. 410 S1$=LEFT$(R$,2):S2$=MID$(R$,3,2):S3$=RIGHT$(R$,4)
  44. 420 GOSUB 600:GOSUB 730
  45. 430 IF LEFT$(S2$,1)="0" THEN S2$=RIGHT$(S2$,4)
  46. 440 IF LEFT$(S3$,1)="0" THEN S3$=RIGHT$(S3$,LEN(S3$)-1):GOTO 440
  47. 450 PRINT S2$ S1$ S3$ " <- expanded 3 digit date string."
  48. 460 END
  49. 470 IF B$="jan" THEN B$="01":RETURN
  50. 480 IF B$="feb" THEN B$="02":RETURN
  51. 490 IF B$="mar" THEN B$="03":RETURN
  52. 500 IF B$="apr" THEN B$="04":RETURN
  53. 510 IF B$="may" THEN B$="05":RETURN
  54. 520 IF B$="jun" THEN B$="06":RETURN
  55. 530 IF B$="jul" THEN B$="07":RETURN
  56. 540 IF B$="aug" THEN B$="08":RETURN
  57. 550 IF B$="sep" THEN B$="09":RETURN
  58. 560 IF B$="oct" THEN B$="10":RETURN
  59. 570 IF B$="nov" THEN B$="11":RETURN
  60. 580 IF B$="dec" THEN B$="12":RETURN
  61. 590 B$="0":RETURN
  62. 600 IF S1$="01" THEN S1$="January ":RETURN
  63. 610 IF S1$="02" THEN S1$="February ":RETURN
  64. 620 IF S1$="03" THEN S1$="March ":RETURN
  65. 630 IF S1$="04" THEN S1$="April ":RETURN
  66. 640 IF S1$="05" THEN S1$="May ":RETURN
  67. 650 IF S1$="06" THEN S1$="June ":RETURN
  68. 660 IF S1$="07" THEN S1$="July ":RETURN
  69. 670 IF S1$="08" THEN S1$="August ":RETURN
  70. 680 IF S1$="09" THEN S1$="September ":RETURN
  71. 690 IF S1$="10" THEN S1$="October ":RETURN
  72. 700 IF S1$="11" THEN S1$="November ":RETURN
  73. 710 IF S1$="12" THEN S1$="December ":RETURN
  74. 720 PRINT "Error.":END
  75. 730 IF S2$="11" THEN S2$=S2$+"th ":RETURN
  76. 740 IF S2$="12" THEN S2$=S2$+"th ":RETURN
  77. 750 IF S2$="13" THEN S2$=S2$+"th ":RETURN
  78. 760 IF RIGHT$(S2$,1)="1" THEN S2$=S2$+"st ":RETURN
  79. 770 IF RIGHT$(S2$,1)="2" THEN S2$=S2$+"nd ":RETURN
  80. 780 IF RIGHT$(S2$,1)="3" THEN S2$=S2$+"rd ":RETURN  ' Do all others.
  81. 790 S2$=S2$+"th ":RETURN
  82. "2" THEN S2$=S2$+"nd ":RETURN
  83. 780 IF RIGHT$(S2$,1)="3" THEN S2$=S2$+"rd ":RETURN  ' Do all others.
  84. 790 S2$=S2$+"th ":R