文字の種類を判断する場合はcharType()関数を使用します。
戻り値には以下の値が返却されます。以下の名称は予約後に割り当てらているので、変数を作成する場合には注意が必要です。
chrNarrow:半角文字
chrControl:制御文字
chrAlphabet:アルファベット
chrUpper:大文字
chrLower:小文字
chrNumeral:数字
chrSymbol:シンボル
chrWide:全角文字
chrHiragana:ひらがな
chrKatakana:カタカナ
chrKanji:漢字
chrSpace:スペース
chrLetter:文字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
Kf(_chartype){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ Se{ @s1{ /*Cキーに対してスタイルを設定*/ ~key="C"{ ~border{ ~style="solid"; } } } } U(@s1){ R(#row1){ C(#colpre,"1") C(#colpro) } R(#row2){ C(#colpre,"+") C(#colpro) } R(#row3){ C(#colpre,"a") C(#colpro) } R(#row4){ C(#colpre,"A") C(#colpro) } R(#row5){ C(#colpre,"あ") C(#colpro) } R(#row6){ C(#colpre,"ア") C(#colpro) } R(#row7){ C(#colpre,"ア") C(#colpro) } R(#row8){ C(#colpre,"株") C(#colpro) } R(#row9){ C(#colpre," ") C(#colpro) } R(#row10){ C(#colpre,"\n") C(#colpro) } Pe{ #row1#colpro?=sub(#_GetType,#row1#colpre?); #row2#colpro?=sub(#_GetType,#row2#colpre?); #row3#colpro?=sub(#_GetType,#row3#colpre?); #row4#colpro?=sub(#_GetType,#row4#colpre?); #row5#colpro?=sub(#_GetType,#row5#colpre?); #row6#colpro?=sub(#_GetType,#row6#colpre?); #row7#colpro?=sub(#_GetType,#row7#colpre?); #row8#colpro?=sub(#_GetType,#row8#colpre?); #row9#colpro?=sub(#_GetType,#row9#colpre?); #row10#colpro?=sub(#_GetType,#row10#colpre?); } X Po((str)#_GetType,(str)msg){ /* chrNarrow:半角文字 chrControl:制御文字 chrAlphabet:アルファベット chrUpper:大文字 chrLower:小文字 chrNumeral:数字 chrSymbol:シンボル chrWide:全角文字 chrHiragana:ひらがな chrKatakana:カタカナ chrKanji:漢字 chrSpace:スペース chrLetter:文字 */ (int)type = charType(msg); (str)strData; /*半角文字かどうか*/ if(type & chrNarrow){ strData = "半角文字です\n"; } /*制御文字化かどうか*/ if(type & chrControl){ strData += "制御文字です\n"; } /*アルファベットかどうか*/ if(type & chrAlphabet){ strData += "アルファベットです\n"; } /*大文字かどうか*/ if(type & chrUpper){ strData += "大文字です\n"; } /*小文字かどうか*/ if(type & chrLower){ strData += "小文字です\n"; } /*数字かどうか*/ if(type & chrNumeral){ strData += "数字です\n"; } /*シンボルかどうか*/ if(type & chrSymbol){ strData += "シンボルです\n"; } /*全角文字かどうか*/ if(type & chrWide){ strData += "全角文字です\n"; } /*ひらがなかどうか*/ if(type & chrHiragana){ strData += "ひらがなです\n"; } /*カタカナかどうか*/ if(type & chrKatakana){ strData += "カタカナです\n"; } /*漢字かどうか*/ if(type & chrKanji){ strData += "漢字です\n"; } /*スペースかどうか*/ if(type & chrSpace){ strData += "スペースです\n"; } /*文字かどうか*/ if(type & chrLetter){ strData += "文字です\n"; } return (strData); } } } |
chartype.ksf 3.06 KB
実行結果