VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2002/10/04(Fri) 10:17
投稿者よねKEN
Eメール
URLhttp://www5b.biglobe.ne.jp/~yone-ken/
タイトルRe: 空白文字の削除について

>  またj = Asc(Mid(readdata,180,1)) の結果がJ = 0となっていました。(ヘルプではWindows外の文
>   字とありましたが、ABC.txtもDEF.txtにもその部分は空白がはいっています)

元データは、本当に文字コード32(空白)のデータが該当箇所にあるのでしょうか?
「空白がはいっています」というのはどのように確認されたものでしょうか?
Asc関数の結果から言って該当箇所にあるのは空白ではなくヌル文字(文字コード0)です。

> さらに、ABC.txtの文字列と空白部分をカットアンドペーストして
>   Readdata = RTrim("*****************                    ")
> のように実行してみたら空白部分はきれいに削除されていました。

文字コード0のヌル文字は表示される文字ではないので、
表示の都合で空白のように見えているだけでしょう。
空白でなければRTrimでは削除できません。

以下はイミディエイトウィンドウでの結果。

? Chr(0)
←文字コード0のヌル文字は表示される文字ではないので、表示の都合で空白になっているだけ。
? Asc(" ") ←表示されているものは空白なので結果は32になる。
32

> このような状態なのですが、どのようにしたら余分な空白を削除することができるのでしょうか?

InStr関数を使ってvbNullChar(Chr(0)の定数)を検索して、そこまでをMid関数で切り出すとか。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -