home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / ace_basic / ace / prgs / tclock.b < prev    next >
Text File  |  1977-12-31  |  2KB  |  97 lines

  1. '...talking clock
  2.  
  3. DIM t$(60)     '...need to set aside array of size 60 for words
  4. dim v%(8)
  5.  
  6. '...read the speech words
  7. FOR i = 1 TO 20
  8.   READ t$(i)                       '...1-20
  9. NEXT
  10. READ t$(30),t$(40),t$(50),t$(60)   '...30,40,50,60
  11.  
  12. DATA WAHN,TUW,THRXIY,FOHRX,FAYV,SIHKS,SEHVEHN
  13. DATA EYQT,NAYN,TEHN,IYLEHVEHN,TWEHLV,THEHRQTIYN
  14. DATA FOHRXQTIYN,FIHFQTIYN,SIHKSQTIYN,SEHVEHNQTYNN
  15. DATA EYQTIYN,NAYNQTIYN
  16. DATA TWEHNQTIY,THERQTIY,FOHRXQTIY,FIHFQTIY,SIHKSQTIY
  17.  
  18. '...read voice characteristics 
  19. FOR j = 0 TO 8
  20.   READ v%(j)
  21. NEXT
  22.  
  23. DATA 80,0,160,0,22900,64,10,0,0    
  24.  
  25. '.......................................................
  26.  
  27. '...get the system time
  28. tm$=TIME$
  29.  
  30. hours$=LEFT$(tm$,2)
  31. min$=MID$(tm$,4,2)
  32. sec$=RIGHT$(tm$,2)
  33.  
  34. hour=VAL(hours$)
  35. min=VAL(min$)
  36. sec=VAL(sec$)
  37.  
  38. IF hour > 12 THEN hour=hour-12  '...convert to 12 hour clock
  39. if hour = 0 then hour=12
  40.  
  41. minunit=VAL(RIGHT$(min$,1))
  42. minten=VAL(LEFT$(min$,1))
  43. secunit=VAL(RIGHT$(sec$,1))
  44. secten=VAL(LEFT$(sec$,1))
  45.  
  46. '...construct the time string
  47. s$="IHT IHZ-"       '...start of speech string ("it is" & a pause)
  48.  
  49. '...get the hour speech string
  50. s$=s$ + t$(hour) + ","              '...1 to 12 {"," is a pause}
  51.  
  52. '...get the minute speech string     ...0...19,20,30,40,50,60
  53. IF min = 0 THEN                           
  54.   s$=s$ + "OHKLAAK"      '...<something> o'clock
  55. ELSE
  56.   IF minten = 0 AND minunit <> 0 THEN s$=s$ + "OH"
  57.   IF minten = 0 OR minten = 1 THEN
  58.     s$=s$ + t$(min)
  59.   ELSE
  60.      IF minten >= 2 THEN    
  61.         s$=s$ + t$(minten*10)
  62.         IF minunit <> 0 THEN  s$=s$ + t$(minunit)
  63.      END IF
  64.   END IF
  65. END IF
  66.  
  67.  
  68. '...get the second speech string     ...0...19,20,30,40,50,60
  69. IF sec <> 0 THEN
  70.  
  71.  '...add the word "and" & a pause either side
  72.  s$=s$ + "-AXND-"
  73.  
  74.   IF secten = 0 OR secten = 1 THEN
  75.     s$=s$ + t$(sec) 
  76.   ELSE
  77.       IF secten >= 2 THEN    
  78.         s$=s$ + t$(secten*10) 
  79.         IF secunit <> 0 THEN  s$=s$ + t$(secunit)
  80.       END IF
  81.   END IF
  82.   
  83.   s$=s$ + "-SEHKAAND"       '...add the word "second" or "seconds"
  84.   IF sec > 1 THEN s$=s$ + "Z"     
  85.  
  86. END IF
  87.  
  88. SAY s$,v%          '...say it!    s$ = total speech string
  89.                    '..........    v% = voice characteristics array
  90.  
  91.  
  92.  
  93.   
  94.   
  95.  
  96.  
  97.