数字と英字が混ざった文字列のASCII値を取得するには?


超どしろうと  2001-11-14 04:32:33  No: 286  IP: [192.*.*.*]

たびたびすみません。
Delphi超どしろうとです。

数字と英字の混ざった文字列、例えば
0123ABC
のような文字列の、ASCII値を取得したいのですが、どうすればよいのでしょうか?

Chr関数の逆の、Ord関数で変換しようとしたのですが、うまくいきません。
Ord('A')はうまくいくのですが、Ord('123A')はうまくいきません。

よろしくお願いいたします。

編集    削除
にしの  2001-11-14 06:31:54  No: 287  IP: [192.*.*.*]

文字列にはASCII値はありません。
Chr関数、Ord関数を知っているのなら、それらが文字と文字コードの変換であることはわかりますね。
Ord('123A')は、Ord('1')と同じになります。

文字列をASCII値にするには、文字列からASCII値の配列に直すなどの方法になると思います。
たとえば、
strTemp := '123A';
For i := 1 to Length(strTemp) do arrayTemp[i - 1] := Ord(Copy(strTemp, i, 1));
のようになります。

編集    削除
超どしろうと  2001-11-15 18:25:23  No: 288  IP: [192.*.*.*]

にしのさん、レスありがとうございます。
さっそく試してみたのですが・・・
配列にうまく代入できません。
「互換性のない型です」と言われてしまいます。
Ordは、戻り値はIntですよね?
配列型は、Integerではないのでしょうか?

編集    削除
にしの  2001-11-15 19:08:50  No: 289  IP: [192.*.*.*]

間違えました。
Ordの引数は、文字型であって文字列型ではないので、Copy(...)を、strTemp[i]に変えてみてください。
このとき、strTemp[]の添え字は0からではなく、1からになります。
# '123A'ならば、strTemp[1]=#$31

編集    削除