文字化けしてしまう

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

文字化けしてしまう

#1 投稿記事 by M.S. »

SPIRIT さんのサイトの WinTips を参考にしたのですが、
取得したドライブ名をエディットボックスに表示させたいのですが、
ドライブ名が文字化けしてしまいます。
どうすれば文字化けせずに表示されるのでしょうか?
AB: 5.00.00 (CP3)
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: 文字化けしてしまう

#2 投稿記事 by 7 »

> ドライブ名が文字化けしてしまいます。
> どうすれば文字化けせずに表示されるのでしょうか?
Ver.5だとwsprintf()の使い方が厳密になった感じでしょうか。

単一文字なので、%sではなく%cを使うべきです。 追記。

wsprintf()%sで文字列を突っ込んでみても文字化けするので、どっか調子悪いんでしょうか。(←原因分からん)
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#3 投稿記事 by konisi »

識別子「UNICODE」が定義されていて、かつEditBoxがSJIS文字用になっていたら
文字化けするかもしれないと思うのですが、
そこらへんはどうなっていますか?←Ver5で試してない
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#4 投稿記事 by 7 »

Ver.4のDeclare文を引っ張ってきてwsprintf()を使ってみても文字化けしますし、以下のようなコードでも3Bという文字が混入します。

コード: 全て選択

Dim buf[256] As SByte ' SByteにしてみてもダメ
	wsprintf(buf,"%s","")
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

Re: 文字化けしてしまう

#5 投稿記事 by M.S. »

> > ドライブ名が文字化けしてしまいます。
> > どうすれば文字化けせずに表示されるのでしょうか?
> Ver.5だとwsprintf()の使い方が厳密になった感じでしょうか。
>
> 単一文字なので、%sではなく%cを使うべきです。
> >
> 追記。
>
> wsprintf()%sで文字列を突っ込んでみても文字化けするので、どっか調子悪いんでしょうか。(←原因分からん)


7 さんのコードでちゃんと動くようになりました。
ありがとうございます。
AB4.24では僕が書いたコードでちゃんと動きました。
今までAB4.24 の時と同じコードを書いていて、
文字化けしたことがなかったのですが…
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#6 投稿記事 by イグトランス »

Stringの内部構造が変化したため、直接Stringをwsprintfなどに渡せなくなってしまいました。
StrPtr関数を使うとうまくいきます。
wsprintf(SetDrv, "Drive %s", StrPtr(Left$(Drive, 1)))
返信する