変数宣言と初期化

解決


さばー  2005-04-27 00:47:32  No: 14488

変数を宣言した時に初期化する方法はあるのでしょうか?
Cで表した場合でいう、
int A = 0;
↑の形です。


23  2005-04-27 01:18:17  No: 14489

ヘルプ
  Object Pascal 言語ガイド
  変数の宣言
を参照のこと


初心者999  2005-04-27 01:18:41  No: 14490

ヘルプには駄目とかかれています。
私の場合、どうしてもローカルの変数をまとめて初期化したいときは、
下記のようにしています。
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;


HOta  2005-04-27 01:21:38  No: 14491

さばーさん

型付き定数で代用できませんか?

Const
  i : Integer = 0;


さばー  2005-04-28 17:29:42  No: 14492

説明が足りない様ですいません。
ヘルプでは、ローカル変数で宣言と同時に初期化はできないようです。

関数内でのカウンタとして利用したかったのですが、
やはりローカル変数では無理なようですか?

Static Int C=0;
みたいに宣言しておいて関数内でカウンタ利用


kkk  2005-04-28 21:48:04  No: 14493

0で初期化したいのならその必要ないのでは?


りおりお  2005-04-28 22:36:31  No: 14494

> 0で初期化したいのならその必要ないのでは?

ローカル変数は初期化しなければ不定です。


kkk  2005-04-28 22:43:59  No: 14495

なるほど
さばーさんはローカル変数とおっしゃてますね。


りおりお  2005-04-29 04:38:46  No: 14496

> 関数内でのカウンタとして利用したかったのですが、
> やはりローカル変数では無理なようですか?

C の static に相当する Delphi の変数は無い、と思ってください。
コンパイラ指令を使うと出来るそうですけど。

ですから、グローバル変数か、クラスのフィールド変数にしてください。その場合は
ゼロで初期化する必要はありません。


さばー  2005-05-06 17:12:36  No: 14497

Static は無いですか。
りおりおさんの方法でやってみます。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加