先日はmes画面表示内容の保存でお世話になりました。
大変ありがとうございました。
今回はテキストファイル(ex. index.html)の内容を表示する
プログラムを書いていて、モジュール化のところで
躓いています。
まず最初に以下のような通常のコードを書いて正常に
動くことを確認しました。
;//////file_cat_a//////////////////////////////ここから
#include "hspinet.as" ;nkfcnvを使うためにinclude
notesel file_buffer ;テキストバッファを指定
file_name="./index.html" ;ファイル名を指定
noteload file_name ;テキストバッファにファイルを読み込む
repeat notemax ;読み込んだファイルの各行で以下を繰り返す
noteget file_contents,cnt ;ファイルの各行を読み出す
buf = file_contents ;一度テンポラリバッファ変数に格納
nkfcnv buf,buf ;文字コードを変換 ←エラーは出ない
mes buf ;テキストバッファ内容を表示
loop
stop
;/////file_cat_a//////////////////////////////ここまで
つぎに、このなかでファイルを読み込んで表示する
部分だけをモジュール化しようとして、以下のような
コードを書いたところ、nkfcnvのところで
「文法が間違っています」
とエラーが出て動きません。
;/////file_cat_b//////////////////////////////ここから
#include "hspinet.as" ;nkfcnvを使うためにinclude
#module filecat filename ;モジュール宣言開始
#deffunc file_cat str file_name ;ファイル内容を表示する命令"file_cat"を定義
notesel file_buffer ;テキストバッファを指定
noteload file_name ;テキストバッファにファイルを読み込む
repeat notemax ;ファイルの行数だけ以下を続ける
noteget file_contents,cnt ;行の内容を読み出す
buf = file_contents ;一度テンポラリバッファ変数に格納
nkfcnv buf,buf ;文字コードを変換 ←ここで"文法が間違っている"というエラー
mes buf ;テキストバッファ内容を表示
loop
noteunsel ;テキストバッファを戻す
return
#global ;モジュールここまで
;以下mainコード
file_cat "./index.html" ;mainのコード
stop
;/////file_cat_b//////////////////////////////ここまで
ちなみにfile_cat_bでもnkfcnvが含まれる一行をコメントアウトすると
エラー無しで動くことから、nkfcnvあるいはそれが含まれるhspinet.asの
includeの問題ではないかと思うのですが、このあたりについて
何が問題なのかお分かりの方はご指摘をお願いできませんでしょうか。
よろしくお願いいたします。