掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
カタカナ(全角)を数値化するには? (ID:5808)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
最初の質問に対する解がHalbowさんじたいごちゃついたので とりあえずシンプルな例を書きます。 基本的にはhalbowさんの2番目の書き込みの改善程度です。 値の決まっているものの配列化の場合はこういう書き方がdelphiの場合 一般的だと思います。 Halbowさんが「とりあえず」といって5文字だけ取上げたのは delphiの代入機構の難点を現していて 基本的には静的定数でなければ外部ファイル読込みを推奨します。 関数に渡すのはAnsistring一文字です。 根本的に最初のtamaさんの発想自体すでに濁点を無視しており不適切ですが とりあえず濁点、半濁点などは99いこうを返す形にしました。 無論変更は容易です。 変数名などは混乱を避ける為halbowさんに合わせました。 //この定数部分は変更の可能性があれば変数にして読み込みルーチンを使うか //$Iでテキストファイルで独立させるのも手 const KanaArr: array[0..$94] of integer =( 16,11,17,12,18,13,19,14,20,15,21,26,22,27,23,28,24,29,25,30, 31,36,32,37,33,38,34,39,35,40,41,46,42,47,90,43,48,44,49,45,50, 51,52,53,54,55,61,56,66,62,57,67,63,58,68,64,59,69,65,60,70 71,72,73,74,75,86,81,87,82,88,83, 91,92,93,94,95,76,96,77,78,98,99,79,80,89 ); // //ヤユヨは81,82,83とした (*全角カタカナすべて ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダ チヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミム メモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ //*) function GetCode(ZenKana: string): integer; begin result := KanaArr[(Byte(ZenKana[2])-$40)]; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.