くだすれDelphi(超初心者用)その49at TECHくだすれDelphi(超初心者用)その49 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト350:デフォルトの名無しさん 09/04/25 20:18:50 leadbytesとかは使えないの? 351:デフォルトの名無しさん 09/04/25 21:11:09 WideStringなら 単純に文字コードを見ればわかるけど。 1バイトなら半角だし、2バイトなら半角カナかをチェックする 352:デフォルトの名無しさん 09/04/25 21:25:34 unicodeの事いってるんなら1バイトで全角幅もあるぞ 353:348 09/04/26 05:15:41 そういや>>348でp1^のメモリを確保してないや。 最初にNew(p1);、最終的に完全にいらなくなったらDispose(p1);が必要だった。 354:デフォルトの名無しさん 09/04/26 08:38:57 >>349 シフトジスに変換した後にチェックすればいいじゃん。 ウンコードを呪え。 355:DEKO 09/04/26 10:53:28 >>349 MECSUtils の MecsIsFullWidth() を使うといいと思います。 ttp://homepage1.nifty.com/ht_deko/tech021.html#MecsIsFullWidth 356:デフォルトの名無しさん 09/04/26 11:26:42 みなさんありがとう。 一度Ansiに変換して判定することにしました。 function IsHankaku(c: char): boolean; begin result := ( ByteType(AnsiChar(c), 1) = mbSingleByte ); end; Delphi2009で文字を扱うときって、サロゲートとかエレメントとかコードポイントとかバイトとか、ややこしいですね(>_<) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch