▼ nyさん
> 文字列変数sに"4294967295"が入っています。
> これを整数型のCardinal変数vに型変換して代入したいのですが、
これ,Cardinal の最大値ですよね.
Integer の正の最大値を超えていると StrToInt は失敗するようです.
今思いつくのは以下しかありません.
>v=strtoint(s);
>ではできませんでした。
当然できません.v:=strtoint(s); ですね.
Delphi の代入は = ではなくて := です.コロンが必要です (^^;)
もしかして,C++, C#, VB ?
それとも,私の真似をして誤字脱字の類 ?
動作確認は Windows 7 U64(SP1) + Delphi XE(UP1) Pro です.
procedure TForm1.Button1Click(Sender: TObject);
var
LText : string;
LCardinal : Cardinal;
begin
LText := '4294967295';
LCardinal := Cardinal(StrToInt64(LText));
LText := IntToStr(LCardinal);
MessageBox(Handle, PChar(LText), '結果', MB_ICONINFORMATION);
end;
|