ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 19:10

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 文字数をカウントする
作成者 メッセージ
  記事の件名:  Re: 文字数をカウントする  引用付きで返信する
コード:
Declare Function GetTextCount CDECL lib "msvcrt" Alias "_mbslen" (str As *Byte) As Dword
これで良い
投稿記事 Posted: 2018年10月08日(月) 22:38
  記事の件名:  Re: 文字数をカウントする  引用付きで返信する
ISCharAlphaNumeric関数からIsDBCSLeadByte関数に変更するだけでよいと思います。
ただし判定方法は <> FALSEとなります。
投稿記事 Posted: 2018年10月08日(月) 12:06
  記事の件名:  Re: 文字数をカウントする  引用付きで返信する
コード:
'全角チェック(Shift_JIS)
Function isZenkaku(c As Byte) As Long
	If (c > &h80 And c < &hA0) Or (c > &hCF And c < &hF0) Then isZenkaku = 1
End Function

'文字数カウント(Shift_JIS)
Function GetTextCount(Text As BytePtr) As Long
	Dim i As Long

	While Text
		If isZenkaku(Text) Then i++'文字が全角文字のとき
		i++
		GetTextCount++
	Wend

End Function
投稿記事 Posted: 2017年10月13日(金) 01:49
  記事の件名:  文字数をカウントする  引用付きで返信する
文字数のByte数は取得出来ますが、
文字数をカウントする方法が無さそうだったので作ってみました。
一応、半角全角を対応させています。
半角のカタカナは、2つで1文字とカウントされるっぽいですが……

GetTextCount関数として定義してます。

戻り値に文字数、
引数にカウントさせるテキストデータ(BytePtr型)
TextNum = GetTextCount(buf)

▽使用例▽
▽これをコピペしてください▽
投稿記事 Posted: 2013年3月03日(日) 18:54

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean