文字列がカタカナで構成されているか調べるには?

解決


とも  2002-07-23 02:06:31  No: 1149  IP: [192.*.*.*]

はじめまして。ともと申します。
Delphi初心者です。

ある文字列がカタカナのみでできているか、カタカナ以外が含まれているかを
調べたいのですが、文字コードやバイトがよくわからずに苦戦しています。
一文字ずつ切り取って調べようと思っているのですが、
よい方法はないでしょうか?
よろしければ、教えてください!

よろしくお願いします。

編集    削除
にしの  2002-07-23 02:31:41  No: 1150  IP: [192.*.*.*]

ヘルプを見ましょう。
長さはLength関数
文字コードはOrd関数
です。

編集    削除
とも  2002-07-23 02:53:08  No: 1151  IP: [192.*.*.*]

お返事ありがとうございます。

いろいろとヘルプやネット上で調べているのですが、
lengthに関しても様々なことが書かれていてどれが正しいのか
わからない状態です。なんとか試しながら一文字ずつ取得することはできました。
あとは文字コードについてなのですが、標準ではAnsiコードなんですよね?
『シフトJISからJISコードへの変換』などはサンプルコードをネット上で
見つけましたが、Ansiコードからの変換というのが見つかりません。
特に変換しなくてもカタカナにコードは割り当てられているものなのでしょうか?

訳のわからないことを聞いているかもしれませんが、
超初心者ということで許してください。申し訳ないです。

ひとまず、lengthとordで格闘してみます。
ありがとうございます。

編集    削除
たかみちえ  URL  2002-07-23 04:54:34  No: 1152  IP: [192.*.*.*]

http://www.nifty.ne.jp/forum/fdelphi/samples/
確かここに、”半角カタカナ撲滅!”なんていうTipsがあったとおもいます。
さんこうになるかも。

編集    削除
とも  2002-07-24 20:26:32  No: 1153  IP: [192.*.*.*]

にしのさん、たかみちえさん、ありがとうございました。

一つ前の発言には少しおかしいところがあることに気づきました。
別にコード変換しなくてもよかったんですよね。申し訳ないです。
結局私のしたいことが、半角・全角カタカナとそれ以外の判別だったために
ord関数ではうまく処理できなかったようです。
(もしかしたらもっと調べれば方法があるのかもしれませんが。)
そこで地道にAsciiコードでCaseを使って処理をしました。
あまりきれいな書き方ではない気もしますが、とりあえず処理はできたので
よしとします。

いろいろとありがとうございました。

編集    削除