変数を宣言した時に初期化する方法はあるのでしょうか?
Cで表した場合でいう、
int A = 0;
↑の形です。
ヘルプ
Object Pascal 言語ガイド
変数の宣言
を参照のこと
ヘルプには駄目とかかれています。
私の場合、どうしてもローカルの変数をまとめて初期化したいときは、
下記のようにしています。
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: integer;
procedure Initialize;
begin
i := 0;
j := 0;
end;
begin
Initialize;
ShowMessage( IntToStr(i) );
ShowMessage( IntToStr(j) );
end;
さばーさん
型付き定数で代用できませんか?
Const
i : Integer = 0;
説明が足りない様ですいません。
ヘルプでは、ローカル変数で宣言と同時に初期化はできないようです。
関数内でのカウンタとして利用したかったのですが、
やはりローカル変数では無理なようですか?
Static Int C=0;
みたいに宣言しておいて関数内でカウンタ利用
0で初期化したいのならその必要ないのでは?
> 0で初期化したいのならその必要ないのでは?
ローカル変数は初期化しなければ不定です。
なるほど
さばーさんはローカル変数とおっしゃてますね。
> 関数内でのカウンタとして利用したかったのですが、
> やはりローカル変数では無理なようですか?
C の static に相当する Delphi の変数は無い、と思ってください。
コンパイラ指令を使うと出来るそうですけど。
ですから、グローバル変数か、クラスのフィールド変数にしてください。その場合は
ゼロで初期化する必要はありません。
Static は無いですか。
りおりおさんの方法でやってみます。
ありがとうございました。
ツイート | ![]() |