HyperCard tribute

時を操る


 ここでは、時間を操る方法を説明します。時刻、日時を表示するだけでなく、時間を計ったり経過時間を表示したりといろいろな使い道があります。これらを使いこなせば、メリハリの利いたスタックを作ることができます。


  • 今日の日付
  •  the short date   例:97.8.27
     the long time   例:1997年 8月 27日 水曜日


  • 現在の時刻
  •  the short time   例:10:24 AM
     the long time   例:10:24:58 AM

     short timeでは分までを表示し、long timeでは秒までを表示します。


  • 経過時間(秒)
  •  the seconds  
     the secs   1904年1月1日から計った秒数
     seconds()  

     1904年1月1日からの秒数ですので、使用する前に基準としてデータを取っておかなければなりません。

     基準時からどれだけの時間がたったのかを計算すれば、経過時間を計ることができます。
     この場合は 305-300 ですから、5秒の時間がたったということになります。

     実際には以下のようなスクリプトを用います。
     1 
     2 
     3 
     4 
    
     5 
     6 
     7 
     8 
    
    on start
      global startTime
      put the secs into startTime
    end start
    
    on main
      global startTime
      put the secs-startTime into msg
    end main
    
     ハンドラstartを呼び出せば、基準時を設定できます。次に、ハンドラmainでは、
      計測したい時-基準時
    を計算して、経過時間を調べています。


  • 経過時間(1/60秒)
  •  the ticks 
     ticks()  Macintoshを起動した時から計った秒数

     ticksは60分の1秒の単位ですので、1秒間に60回カウントされることになります。経過時間を計算するときは、60で割ることを忘れないようにしなければなりません。ただ、60で割っただけでは小数点6桁まで出てしまいますので、整数が必要なときはroundかtruncで整数値化して下さい。
     1 
     2 
     3 
     4 
    
     5 
     6 
     7 
     8 
    
    on start
      global startTime
      put the ticks into startTime
    end start
    
    on main
      global startTime
      put (the ticks-startTime)/60 into msg
    end main
    

     上のスクリプトは secのスクリプトとほとんど同じです。この形では0.000000まで表示されることになります。