ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE タイムカード計算プログラム /クジラ飛行机 (02/01/07(Mon) 14:29) [77]


親記事 / 返信無し
NO.77  タイムカード計算プログラム
□投稿者/ クジラ飛行机 -(2002/01/07(Mon) 14:29:49)
□U R L/ http://www.text2music.com
{ 
 なぜか、我が社では、いまだにバイトのタイムカードを手で計算して
 いたとの報告が・・・。
 そんな訳で、作りました。タイムカード計算プログラムです。
}
'-----------------------------------------------------------
'タイムカード計算
'-----------------------------------------------------------
'説明:
'   CSVファイルに、
'   日付、入社時間、退社時間
'   日付、入社時間、退社時間
'   日付、入社時間、退社時間
'   ・・・
'   と、記入しておく
'
'   お昼を跨ぐと自動的に、1時間の休憩時間分を引きます。
'   時間計算は、15分で切り捨てです。
'-----------------------------------------------------------
'設計時に利用
{
トラを、トラックとして、作成。
その、サイズは、(0,0,30,30)
その、イベントは、(
   母艦の、タイトルは、トラの、サイズ。
)。
母艦の、クリックした時は、(
   (トラの、サイズ)を、クリップボードへ、保存。
   母艦の、タイトルは、トラの、サイズ&「*コピー」
)。
}
'-----------------------------------------------------------
*見た目の作成
母艦の、タイトルは、「タイムカード計算」
灰色で、画面クリア。

勤務表を、グリッドとして、作成。
その、サイズは、(10,10,424,379)。
その、アイテムは、「日付,入社時間,退社時間」
その、編集は、オン。
その、キー押した時は、(
   もし、押されたキーが、13ならば、(
      CUR=勤務表の、値。
      CNT=要素数(勤務表の、アイテム)
      もし、CURが、CNT以上なら、勤務表の、アイテム=(勤務表の、アイテム)&「\n」
   )。
)。

読み込みボタンを、ボタンとして、作成。
その、テキストは、「ファイル読込」
その、サイズは、(432,10,619,40)
その、イベントは、CSVファイル読み込み

(433,51)へ、移動。「時給の設定」と、表示。
(584,69)へ、移動。「円」と、表示。
時給エディタを、エディタとして、作成。
その、テキストは、「800」
その、サイズは、(432,67,578,97)。

計算ボタンを、ボタンとして、作成。
その、テキストは、「計算」
その、サイズは、(437,294,622,324)
その、イベントは、時給の計算処理

保存ボタンを、ボタンとして、作成。
その、テキストは、「ファイル保存」
その、サイズは、(437,344,622,374)
その、イベントは、(
   「.csv」の、書き込みファイル選択。
   もし、それが、「」ならば、待機。
   (勤務表の、アイテム)を、それに、保存。
)。

'結果表示部分
塗り色は、黄色。ペン色は、青色。
(428,113,559,224)へ、四角形。
(432,120)へ、移動。
「勤務時間」と、表示。
勤務時間エディタを、エディタとして、作成。
「給料」と、表示。
給料エディタを、エディタとして、作成。
待機。

*CSVファイル読み込み
「.csv」の、読み込みファイル選択。
もし、それが、「」ならば、待機。
それを、開く。
勤務表の、アイテムは、それ。
時給の計算処理。
待機。


*時給の計算処理
'表を巡回して、勤務時間を得る
勤務時間合計=0
ITEM=勤務表の、アイテム。
ITEMの、0列目から、「日付」を、表ピックアップ。
もし、それが、「」でなければ(ITEMの、0行目を、行削除。ITEM=それ)
ITEMを、反復する(
   ","で、区切る。
   F日付=それ#0
   F開始=それ#1
   F終了=それ#2
   '時間の切り捨て処理
   それは、F開始。時間15分で切り捨て。F開始=それ。
   それは、F終了。時間15分で切り捨て。F終了=それ。
   F終了と、F開始の、秒差。
   勤務時間の分=INT(それ÷60)
   'お昼を挟んでいたら、1時間分減らす処理
   お昼休憩チェック。
   勤務時間合計=勤務時間合計+勤務時間の分。
)。

勤務時間エディタは、四捨五入(勤務時間合計÷60,2)&" 時間"。

分給=時給エディタ÷60
給料は、四捨五入(分給×勤務時間合計,0)。
給料エディタは、通貨形式に変換(給料)&" 円"。
待機。

*時間15分で切り捨て
それを、":"で、区切る
時=それ#0
分=それ#1
分=INT(分÷15)*15
それは、「{時}:{分}:00」
戻る。

*お昼休憩チェック
F開始を、":"で、区切る。
開始時=それ#0
F終了を、":"で、区切る。
終了時=それ#0
もし、(開始時<=12)かつ(終了時>13)なら、勤務時間の分から、60を、引く。
戻る。



- Child Tree -