WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:関数の質問ですが、、、

0:[投稿] やすし [MAIL] [2005/02/21 23:22 ][環境:IE6,wingdows2000 server NT]

aspの初心者です、宜しければ教えてください。
        strOneChar = Mid(strMatter, intCnt, 1)    ''-- 1文字取得
        '/* 半角 */
        If(Asc(strOneChar) => 0 And Asc(strOneChar) <= 255)Then
            intLength = intLength + 1
        '/* 全角 */
        Else
            intLength = intLength + 2
        End If

この関数のなかで
If(Asc(strOneChar) => 0 And Asc(strOneChar) <= 255)
がありますが、どうしてこんなふうに書いているのかよく分かりません。
つまり、何のためにその目的がよく分かりません。
どなたがご存知たら教えてください。
よろしくお願いいたします。


1:[回答] andi [2005/02/22 10:32 ]

VB(Script)では文字列をUnicodeとして扱う為、
Len("あいうえおaiueo") は「10」
LenB("あいうえおaiueo") は「20」
といった感じにカウントされます。

この為、通常の手段ではShift_JISのように半角を1バイト、
全角を2バイトとカウントすることができません。

そこで、そのソースではAsc関数で文字のASCIIコードを取得し、
半角のコード(255以下)であれば1バイト、それ以外であれば
2バイトをバイト数に加算して自力でバイト数を算出しています。


2:[回答] やすし [MAIL] [2005/02/22 23:21 ]

お返事どうもありがとうございます。
よく分かりました。
どうも、、、


3:[質問] yomiyuhi iyo [2005/03/26 13:56 ]

 関数で処理したいのですが、エクセルのセルデーターを別のシートに移す。1〜200までのセルデーターの1番の次4番で次5番次8番次9番というように、移したいのですが、やり方が分かりません。教えてください。


4:[質問] yomiyuhi iyo [2005/03/26 13:57 ]

 関数で処理したいのですが、エクセルのセルデーターを別のシートに移す。1〜200までのセルデーターの1番の次4番で次5番次8番次9番というように、移したいのですが、やり方が分かりません。教えてください。


5:[回答] andi [URL] [2005/03/27 12:54 ]

元の話しと関係のある話しでは無さそうですが?

> 関数で処理したいのですが〜

ここは「Webページ作成に関しての何でも掲示板です」だそうで、
ExcelVBAの話しはこちらさんとかでしてみては如何でしょうか。

http://www.moug.net/

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World