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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1117
けんと文字化け?2解決


けんと

リンク

2007/11/17(Sat) 01:44:58|NO.12459

こんにちは、現在リッチエディットを使ったプログラムを組んでいるのですが、
なぜか文章の内容を保存しようとすると、最初の一文字が文字化けしてしまいます。

リッチエディットに関する部分については、
HSP-NEXTで公開されているstdlibを利用していまおり、
下にあるような非常に簡単なスクリプトでも文字化けが起こるのですが、
これは仕様なのでしょうか?

どなたか原因の分かる方がいらっしゃいましたら、お教えください。

<文字化けする例>
#include "../stdlib/sysval.as"
#include "../stdlib/gblconst.as"
#include "../stdlib/winapi32.as
#include "../stdlib/exrichedit.as"

hRedit=Createredit(10,50,winx-30,240)
button "save",*save
stop
*save
reditsave hRedit,"../memo.txt"
end

<reditsaveのスクリプト>
SendMessage hRedit,WM_GETTEXTLENGTH,0,0
buflen=stat : sdim richbuf,buflen
SendMessage hRedit,WM_GETTEXT,buflen,varptr(richbuf)
bsave sFile,richbuf,buflen
sdim richbuf,0
---------------------

この状態で
「あああ」と入力すると「 ?ああ」
「aaa」と入力すると「aa 」
となってしまいます。



この記事に返信する


pizza

リンク

2007/11/17(Sat) 02:36:47|NO.12461

WM_GETTEXTのwParamにヌル文字分(1byte)が足されていないみたいです。

>SendMessage hRedit,WM_GETTEXT,buflen,varptr(richbuf)
のbuflenをbuflen+1にしてみてください。



けんと

リンク

2007/11/17(Sat) 03:30:10|NO.12462

pizzaさんどうもありがとうございます!
ご指摘の通り変えてみたところ、ちゃんと保存できるようになりました。



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