文字コードの取得について

解決


英国屋  2004-09-08 03:46:27  No: 10850

いつも参考にさせていただいております。

処理したいことは、テキストに入力された文字が禁止文字かどうかをチェックしたいのですが、SJISコードの取得方法がわかりません。

a := Ord(b);  {bは2バイト文字}
if b = 禁止文字コード then begin
・・・
end;
と、いうような感じで処理したく思っています。
Ord関数を使う場合に互換性の無い型ですとメッセージ(コンパイルエラー)が出るのですが、色々ヘルプなどを参考に見てみたのですがいまいち分かりません。

くだらない質問ですが、よろしくお願いします。


英国屋  2004-09-08 03:47:11  No: 10851

訂正
a := Ord(b);  {bは2バイト文字}
if a = 禁止文字コード then begin
・・・
end;


jok  2004-09-08 04:11:29  No: 10852

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;


英国屋  2004-09-08 20:08:16  No: 10853

jokさん、Resありがとうございます。
うまくいけました。

わざわざソースまでお書きくださって感謝しております。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加