整数の互換性について

解決


なお  2002-11-28 17:50:30  No: 2241  IP: 192.*.*.*

var Cur:Cardinal;
begin
     Cur := StrToInt(Edit1.Text);
途中の関係ない部分は省略していますが、上のように実行した場合きちんと
CurはCardinalになっているのでしょうか?一応エラーは出ていないのですが…
互いが整数型であれば互換性はあるとのことですがこの場合はIntegerからCardinalに変更する必要はあるのでしょうか?自分で作れればいいのですが、データ型の変換をするときどのようにすればいいかわかりません。
どなたか教えてください。

編集 削除
にしの  2002-11-29 08:52:21  No: 2242  IP: 192.*.*.*

CardinalとIntegerは同じ32ビット整数です。
違うのは、符号があるかないかです。
つまり、
StrToInt('-1');
を、Integer型に入れれば-1になりますが、Cardinalに入れれば4294967295になります。
マイナス値が必要なければ問題ないです。

編集 削除
なお  2002-11-29 12:01:48  No: 2243  IP: 192.*.*.*

なるほど、解決しました。どうもありがとうございました。

編集 削除