このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1136788500/499
#  Visual Basicでの質問なんですが、 
#   
#  今給料明細のプログラミングをしてまして、 
#  1日目の就業時間 8時間30分 
#  2日目の就業時間 8時間30分 
#  3日目〜〜 
#  4日目〜〜 
#   
#  総労働時間123時間30分 
#  などという用に作りたいのですが、 
#  timeserial関数を使って計算したところ24時間以降はまた1になってしまいます。 
#  何かいい方法はないでしょうか? 
# 
# 

:- op(450,xfx,時間).
:- op(440,xf,分).
:- op(500,xfx,日目の就業時間).

就業時間合計(_時間,_分) :-
        findsum([_N2,_N3],(N 日目の就業時間 N2 時間 N3 分),[_時間_1,_分_1]),
        _分 is truncate(_分_1) mod 60,
        _時間プラス is _分_1 // 60,
        _時間 is truncate(_時間_1) + _時間プラス.
        
/*
就業時間合計(_就業時間テキスト,_時間,_分) :-
        get_lines(_就業時間テキスト,Lines),
        member(Line,Lines),,
        replace(Line,日目の就業時間,' 日目の就業時間',Line1),
        replace(Line1,時間,' 時間',Line2),
        replace(Line2,分,' 分',Line3),
        atom_to_term(Line3,Term,_),
        assertz(Term),
        fail.
就業時間合計(_就業時間テキスト,_時間,_分) :-
        就業時間(_時間,_分).
*/