HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
1030
HSP3.5のHSP3UTFでのdialogについて3解決


リンク

2017/10/30(Mon) 07:47:02|NO.81728

 こんにちは、お世話になります。

 HSP3.5から同梱されたHSP3UTFについての質問です。

 普通にdialogを使って、

dialog "これは、テストです。"

とかやると、なぜか文字化けしてしまいます。

 なので、メッセージ内容を変数に入れて、cnvatosで変換してからdialog命令で表示させたところ、正常に表示されました。

 そこで、いちいちそれをしなくてもいいように、下記のようなモジュールを作成したんですが、「変数名が指定されていません。」というようなエラーになってしまいます。
 何か対処法はございますでしょうか。
 以下、作成してみたモジュールです。

----------

#runtime "hsp3utf" #module #deffunc dialog_utf str p1, int p2, str p3 utfmsg=cnvatos(p1) utftitle=cnvatos(p3) dialog utfmsg, p2, utftitle #global dialog_utf "これは、テストです。", 0, ""

----------

 それとモジュールですべての変数を指定しなくてもエラーにならないような方法があれば教えていただけないでしょうか。
 現状、3つの引数をすべて指定しないとエラーになってしまうので、引数1つでも動く方法がもしあれば、教えていただけると助かります。

 以上、よろしくお願いします。



この記事に返信する


cheperuphy

リンク

2017/10/30(Mon) 08:10:11|NO.81729

cnvatosは引数に変数を指定してやらなきゃいけないので、
モジュール空間に変数を作って代入してやるとできます。


#runtime "hsp3utf" #module #deffunc dialog_utf str p1, int p2, str p3 message=p1 option=p3 utfmsg=cnvatos(message) utftitle=cnvatos(option) dialog utfmsg, p2, utftitle #global dialog_utf "これは、テストです。", 0, ""



kanahiron

リンク

2017/10/30(Mon) 14:38:24|NO.81732

ふつうHSP3utfを使う場合は#runtimeで指定するのではなくHSP3utf.asをincludeします
でないと文字列がS-JISなのにUTF-8と解釈され文字化けします
HSP3utf.asにはコンパイル時にソースファイルをUTF-8に変換するコンパイルオプションが記載されています



リンク

2017/10/30(Mon) 16:35:49|NO.81735

 こんにちは、お世話になります。

 hsp3utf.asをインクルードすることで解決しました。
 一応hsp3utfのドキュメントは見ていたんですが、見落としていたのかもしれません。

 ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.