なんでみんな「メモ帳程度なら手軽にできるんじゃね?」と考えてしまうものなのだろう……
愚痴はさておき。
>どこが悪いのか
まずはエラー内容をよく読みましょう。
#Error 16 in line 8 (???)
-->パラメータの数が多すぎます
と表示されているかと思います。
ここで言う「パラメータ」とは、命令や関数に渡す情報の数のことです。
「多すぎます」なので、要するに渡しすぎなのでしょう。
じゃあいくつ渡せばいいか? 簡単です。ヘルプで調べればいいのです。
9行目の「notesave」というところ(命令)にカーソルを合わせて、F1キーを押してください。
すると、即座に「HSP Document Library」という画面が出てきたかと思います。
そこに「notesave "filename"」とかいう記述があるかと思います。ありますよね?
これは、「notesaveは、文字列1つだけを受け取る命令です」という意味です。
あなたの書いたコードでは、
notesave "txt",buf
となっているので、notesaveという命令に"txt"という文字列1つと、bufという変数を渡していることになります。
要するに、1つパラメータが多いのです。
「じゃあ、,bufを削ればいいの?」
まあ大体そうです……が。そこだけ修正して実行すると、保存する際に
txt
という拡張子のないテキストファイルが保存されてしまいます。
それだと「メモ帳」らしくありませんよね?
好きなファイル名で保存したい場合は、そのファイル名を何らかの形でnotesave命令に
文字列の形で与える必要があります。一番簡単なのは、dialog命令を利用することです。
詳しくはヘルプを読んでください、としか言えないのですが、一番簡単に書くとこうなります。
dialog "txt",17
notesave refstr
もちろん一番簡単な形なので、エラー対策は何もしていません。そこは自力で頑張って下さい。
>ロード機能と文字色機能
ロードはnoteload命令を使えばさほど難しくはありません。好きなファイルを読みたい場合は、
やはりdialog命令を使うのが簡単です。文字色も同様にdialog命令でいいです。
文字色のサンプルを書いてみます。
dialog "",32
if stat=0 :stop
color ginfo_r,ginfo_g,ginfo_b
mes "あなたが選んだ文字色は、("+ginfo_r+","+ginfo_g+","+ginfo_b+")です。"
stop
最後に。
>笑っちゃうくらい変なソース
"変"かどうかは主観の問題であって、人にとやかく言われるようなものではないと
個人的には考えています。そりゃ"変"に感じるところを上げていけばきりがないかも
しれませんが、そんなのは自分も同じですしね。
いろいろやって慣れていけば、昔書いたソースが酷く見えることなんてザラです。
要するに、慣れの問題なのです。気にしたら負けです。これからも頑張って下さいな。