pay の説明書
2022/05/2記
1.pay の概要(Windows の実行ファイルは pay.exe、Linux のは pay)
pay はプログラミング言語 rust で作成されたキャラクターベース(CUI)のユーティリティーです。
操作は主にコマンドプロンプト上でキー入力を用いて操作します。また、データファイルとしての csv ファイルの修正は別途テキストエディタまたはマイクロソフトエクセルを使用し、データファイルの文字コードはUTF8を使用します。
これらに違和感をお持ちの方には、本ユーティリティーの使用はお勧めしません。
このユーティリティーは、テキストベースの支出管理プログラムです。
以前はマイクロソフトアクセスでこの種のプログラムを運用していましたが、マイクロソフトアクセス自身が有料であり使用するにはライセンス認証が必要となりま
す。またバージョンアップによるデータやプログラム互換性にも問題があるので、データをすべてUNIXで標準の文字コードUTF8によるテキストファイルに変
更して、小遣い帳ならぬ pay という名前を付けてシステム化したものです。
お金を支出するのを管理して出費を抑えるのが主目的のため、歳入は管理しません。支出のみデータ化して入力、検索、集計ができるようにしました。データのテキ ストファイルは csv 形式にしてあります。このソフトでのデータ入力以外の編集や削除といった作業はサポートしていませんので、マイクロソフト Excel またはその互換ソフト、あるいはテキストエディタで行ってください。
作成されたデータは本ユーティリティーだけでなく、 Excel 等の表計算ソフトでも実行できますが、このユーティリティーではキャラクターベースの CUI で動作しますので、ほとんどマウスを使うことはありません。コマンドプロンプト(Linux では Terminal モード)または powershell 上で動かします。
作成したデータファイルは削除してしまうと元に戻りませんので、定期的にバックアップをとることをお薦めします。
使用するデータファイルは次の3種類です。
pay_mainx.csv 支出した個々のデータを保存するファイルです。1行で1件の支出データになります。
pay_homoku.csv 支出の費目データです。費目は99個まで登録できます。
pay_sub.csv 内容と費目をセットにしたデータです。30ペアまで登録できます。データ入力の際、内容が決まれば
費目も同時に決まってしまうものに使用すると、内容と費目が同時に入力できます。このファイルは
無くても動作は可能です。
2.動作環境と必要ファイルのダウンロード
OS: Windows版は Windows 10、Windows 11
注:Windows Vista、7、8 等でも動くと思いますが、作者の手元にないため動作確認はしていません。
Linux 版は Windows Subsystem for Linux の LinuxMint 21.1、 ChromeOS 上の Linux ベータ版(Intel CPU)で動作確認しています。
ChromeBook版は Lenovo Chromebook S330 Chrome OS Version 112 32bit (ARM CPU)の Linux ベータ版で動作確認をしています。
Windows版に必要なランタイム: Microsoft Visual c++ ビルドツール
具体的には、Visual Studio 2022 for Windows および Mac のダウンロード (microsoft.com) か ら
「Visual Studio 2022 のツール」を前もってダウンロードしてインストールしておいてください。
なお対象として取り扱うテキストデータファイルはすべて文字コード UTF8 であるとします。
文字コードが Shift-JIS の場合は正常動作しない場合があります(文字化け等)。
Linux 版とChromeBook版は特にランタイムなどは不要で、そのまま動作します。
サンプルデータのダウンロードは、ここをクリックしてください。
ダウンロードするサンプルファイルは、sample_txt_files.zip です。
これを解凍すると次の3個のファイルになります。これらはOSによらず共通です。
pay_mainx.csv
pay_homoku.csv
pay_sub.csv
これら3個のファイルを同じフォルダー、例えば "paydata" というようなフォルダーに保存します。
実行ファイルのダウンロード pay.exe または pay がダウンロードされます。
ダウンロードした実行ファイルをパスの通ったフォルダーに保存してください。
3.各サンプルデータファイルの中身
pay_mainx.csv
ID,年月日,内容,費目,金額,消費種類,備考
となっていて、タイトル行の1行だけが作成されています。
ソフトを動かしてデータ入力を行うと、2行目以降にデータが記録されていきます。
pay_himoku.csv
ID,費目
1,食費
2,日用品
3,衣服・美容費
4,娯楽費
5,交通費
6,教育費
7,医療費
8,交際費
9,こづかい
10,その他
11,住居費
12,電気代
13,水道代
14,ガス代
15,通信費
16,携帯電話代
17,保険費
18,税金
19,冠婚葬祭
上記の如く19個のサンプル費目が既に登録されたものになっています。これをご自身の環境に合わせて Excel
またはテキストエディタで編集してください。各行は 番号,費目 となっています。費目は必ず全角文字を使用して入力してください。
半角文字を使用しますと集計作業の時に画面表示が狂ってきて見づらくなってしまいます。
最大99個まで費目は登録できます。
pay_sub.csv
ID,内容,費目
上記の如くデータのタイトル行のみが入力されています。
予め内容によっては費目が定まっているものをテキストエディタなどで追記してください。
例えば
1,近くのスーパー,食費
2,セブンイレブン,日用品
3,電車賃,交通費
等のようにです。ID 内容 費目の間には半角のカンマを挿入してください。
4.プログラムの実行
実行形式は
pay データファイルが保存してあるフォルダーの絶対パス名
です。例として、3個のデータファイルが格納されているフォルダーを "c:\paydata" とすると実行例としては
pay c:\paydata
となります。
この例で実際に動かしてみると、

となり、4個のメニュー、すなわち「データの入力」「検索」「集計」「中止」が表示されるので、仕事を選択します。
「ENTERのみ」「1 + ENTER」「2 + ENTER」例えば「q + ENTER」となります。
5.「データの入力」メニュー
「1 年月日の入力」

最初に年月日の入力が出てきます。何も入力せずに ENTER のみ押すと今日の日付が入力されます。
今日以外の日付でデータ入力したい場合は、西暦年/月/日 のように半角数字を "/" で区切って
入力します。(例 2021/03/21)
「2 内容の入力」

"pay_sub.csv" にデータを登録してあれば上記のように内容の入力前に一覧表が出てきます。
ここで該当する項目があれば半角数字でその番号を入力します。
該当する項目が無ければ、内容を入力します。
"pay_sub.csv"
にデータが登録されていなければ、このリストは表示されません。すべて手作業で内容を
入力してください。
「3 費目の入力」

"pay_main.csv" に登録してある費目のリストが表示されるので、その番号を半角数字で入力します。
もし、該当する費目が登録されていない場合は、ここで CTRL + c を押してプログラムを終了させ、
"pay_main.csv" を編集して登録したい費目を追加してから、やり直してください。
「4 金額の入力」

金額は半角数字で、千単位のカンマは使用せず、入力してください。
「5 消費種類の入力」

ここでは消費の種類を選択して、その番号を入力します。
消費の種類の詳細説明は、番号6を入力すると、下記のように説明が表示されます。

再度入力を促されますので、番号を半角数字で入力します。
「6 備考の入力」

備考に記入することが無ければ、ENTER のみ押してください。
入力のまとめ

1 = やりなおし 入力したデータを保存せず、入力を日付からやり直します。
2 = 次のデータ入力 入力したデータを保存し、次のデータの入力を開始します。
3 = 終了 入力したデータを保存し、終了します。
6.検索

起動メニューで 1 を入力すると検索モードに入ります。
データの全項目を表示する場合は ENTER のみを入力します。
検索項目を「内容」、検索日を「割りばし」と「割箸」として OR 検索してみると(データが入っていることが前提です)

このように、検索項目を選択して、その項目内のキーワードが含まれる項目を1個ずつ表示します。
7.集計
集計では縦軸に費目を、横軸に入力した年月を配したそれぞれの月の支出金額の合計をマトリクス表示します。
年月は最大12か月分を表示することができます。費目は pay_himoku.csv に登録された全費目が対象です。
例として、実際に入力されたサンプルデータを用いて動かしてみます。

ここで csv ファイルに出力しますか(y/n) ->
と聞いてきますが、”y”を入力すると、このアプリを動かしている
フォルダー上に "pay_out.csv として出力されます。
ただし、現在のフォルダーが c:\ の場合は

のように書き込みが出来ない場合がありますので、その場合は管理者権限でコマンドを起動して再度実行してみてください。
あるいは、起動ディレクトリを変更してから再度実行してください。
なお、12か月分をすべて正常に表示するためには、画面の幅が半角で 176 桁ほど必要になります。
予め表示端末の画面の幅を拡大してから実行してください。
また、 csv ファイルに出力できた場合は、そのファイルを Microsoft Excel
等で読み込んで合計や平均の計算が
出来るようになります。