いつも参考にさせていただいております。
処理したいことは、テキストに入力された文字が禁止文字かどうかをチェックしたいのですが、SJISコードの取得方法がわかりません。
a := Ord(b); {bは2バイト文字}
if b = 禁止文字コード then begin
・・・
end;
と、いうような感じで処理したく思っています。
Ord関数を使う場合に互換性の無い型ですとメッセージ(コンパイルエラー)が出るのですが、色々ヘルプなどを参考に見てみたのですがいまいち分かりません。
くだらない質問ですが、よろしくお願いします。
訂正
a := Ord(b); {bは2バイト文字}
if a = 禁止文字コード then begin
・・・
end;
function GetShiftJISofFirstChar(Moji:string):WORD;
begin
case ByteType(Moji,1) of
mbSingleByte:result := Ord(Moji[1]);
mbLeadByte: result := (Ord(Moji[1]) shl 8)+Ord(Moji[2]);
else
result := $FFFF; // エラー
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToHex(GetShiftJISofFirstChar('あ'),4);
Label2.Caption := IntToHex(GetShiftJISofFirstChar('a'),2);
end;
jokさん、Resありがとうございます。
うまくいけました。
わざわざソースまでお書きくださって感謝しております。
ツイート | ![]() |