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

投稿日: 2004/12/21(Tue) 12:40
投稿者NAO
Eメール
URL
タイトルRe^4: 数字列の長さについて

返事ありがとうございます。
おかげ様で解決しました。
ありがとうございました。




> > 返事ありがとうございます。
> >
> > LenB(StrConv("20040501", vbFromUnicode))の
> > "20040501"は、実はText1(テキストボックス)に入力したもので、
> > 実際は、LenB(StrConv(Text1, vbFromUnicode))になるのですが、
> > この場合、
> > Len(StrConv(Text1, vbFromUnicode)) = 4
> > LenB(StrConv(Text1, vbFromUnicode)) = 8
> > になります。
> > テキストボックスに入力すると、何か違うのでしょうか。
> > すいませんが、ご返答よろしくお願いします。
>
> これは、テキストボックスでも変数に代入しても同じです。
>
> 最初の回答にも書きましたが、StrConv(Text1, vbFromUnicode) は
> VBの内部で扱っているUNICODEからSHIFT-JISへ変換するものです。
> したがって、そのバイト数を求めるLenB(StrConv(Text1, vbFromUnicode))には
> 意味がありますが、文字数を求めるLen(StrConv(Text1, vbFromUnicode))は
> StrConv(Text1, vbFromUnicode)で変換したSHIFT-JISのデータを無理矢理
> 文字としてその長さを求めるもので、はっきりいって意味がないものです。
> MsgBox StrConv(Text1, vbFromUnicode)としてみると、意味不明の文字が
> 表示されるのがわかると思います。


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

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

- VBレスキュー(花ちゃん) - - Web Forum -