{ なぜか、我が社では、いまだにバイトのタイムカードを手で計算して いたとの報告が・・・。 そんな訳で、作りました。タイムカード計算プログラムです。 } '----------------------------------------------------------- 'タイムカード計算 '----------------------------------------------------------- '説明: ' 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を、引く。 戻る。
|