Skip to content

Commit

Permalink
[update]
Browse files Browse the repository at this point in the history
 日記の記入する時刻をプラグイン側からうまく合わせる方法が思いつかなかったため、上書きモードから追記モードに変更。
OnCheckWrittenDiary関数を新たに導入。
従来のものと比べてテキストを処理しやすくなる。
  • Loading branch information
ambergon committed Jan 4, 2023
1 parent bb5c776 commit 80f911f
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 3 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
yaya_variable.cfg
/Diary
/profile
1 change: 1 addition & 0 deletions Diary/yyyymmdd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sample
56 changes: 54 additions & 2 deletions main.uka
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,58 @@ OnPluginUnload.Self {
//"\![raiseplugin,DBdiary,OnCallInputBeautifulDiary,before_text,after_text]"
//"\![raiseplugin,DBdiary,OnCallInputDirtyDiary,before_text,after_text]"
//"\![raiseplugin,DBdiary,OnGetBeautifulDiary,yyyymmdd,before_text,after_text,notWrite,notExist]"

//お前今日日記書いたん?
//"\![raiseplugin,DBdiary,OnCheckWrittenDiary]"
//OnRecieveCheckWrittenDiary {
// reference[0]
//}


OnCheckWrittenDiary {
_res = ""


_LocalDay = "%(day)"
if ( TOINT(_LocalDay) < 10 ) {
_LocalDay = "0" + TOSTR(_LocalDay)
}
_LocalMonth = "%(month)"
if ( TOINT(_LocalMonth) < 10 ) {
_LocalMonth = "0" + TOSTR(_LocalMonth)
}
_FileName = "./Diary/" + "%(year)%(_LocalMonth)%(_LocalDay)" + ".txt"


//テキストが存在する。
//空ではない。
FCHARSET( "UTF-8" )
_devnull = FOPEN( _FileName , "r" )
if ( _devnull == "0" ) {
//日記が存在しないよ
_res = "notExist"

} else {
_DiaryText = FREAD( _FileName )
FCLOSE( _FileName )
if ( _DiaryText == "-1" || _DiaryText == "" ) {
//"何も書いてないよ。"
_res = "notWrite"

} else {
_res = _DiaryText

}
}
res_event = 'OnRecieveCheckWrittenDiary'
res_reference[0] = _res
}





//保存先を取得して消すときのサポートを
OnMenuExec {
}

Expand Down Expand Up @@ -80,7 +132,7 @@ OnInputBeautifulDiary {

_FileName = "./Diary/" + "%(year)%(_LocalMonth)%(_LocalDay)" + ".txt"
FCHARSET( "UTF-8" )
_devnull = FOPEN( _FileName , "w" )
_devnull = FOPEN( _FileName , "a" )
FWRITE( _FileName , _str )
FCLOSE( _FileName )
}
Expand All @@ -99,7 +151,7 @@ OnInputDirtyDiary {

_FileName = "./Diary/" + "%(year)%(_LocalMonth)%(_LocalDay)" + _str + ".txt"
FCHARSET( "UTF-8" )
_devnull = FOPEN( _FileName , "w" )
_devnull = FOPEN( _FileName , "a" )
FWRITE( _FileName , "Dirty Diary" )
FCLOSE( _FileName )
}
Expand Down
30 changes: 30 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
"\![raiseplugin,DBdiary,OnCallInputDirtyDiary,before_text,after_text]"
"\![raiseplugin,DBdiary,OnCallInputBeautifulDiary,before_text,after_text]"
"\![raiseplugin,DBdiary,OnGetBeautifulDiary,yyyymmdd,before_text,after_text,notWrite,notExist]"
//20230104追加関数
"\![raiseplugin,DBdiary,OnCheckWrittenDiary]"
```

## 日記を書く
Expand Down Expand Up @@ -47,6 +51,32 @@ notExistは日記がなかった時に表示されます。<br>
```


## 日記の内容を引っ張り出す。2
先ほどの関数ではゴーストから扱いづらいので別の関数を用意しました。
引数は不要でこのサクラスクリプトを実行するだけです。
```
"\![raiseplugin,DBdiary,OnCheckWrittenDiary]"
```
ただし、ゴースト側で下記のOnRecieveCheckWrittenDiary関数を実装してください。
この関数はreference0に ファイルが存在してかつ、空のファイルじゃなかった場合はBeautifulDiaryの本文が格納されています。

以下は実装例。
```
OnRecieveCheckWrittenDiary {
_res = reference[0]
if ( _res == "notExist" ) {
"書いてないやんけ。"
} elseif ( _res == "notWrite" ) {
"白紙やぞ。"
} else {
_text = "この日の日記は " + _res + "だったんだね。"
}
}
```


## お借りしたもの
yaya.dll
[Releases · YAYA-shiori/yaya-shiori · GitHub](https://github.com/YAYA-shiori/yaya-shiori/releases)
Expand Down

0 comments on commit 80f911f

Please sign in to comment.