gooドクター有料プランが1ヶ月間無料!

他の変数みたいに
ゼロや""では初期化は出来ないのでしょうか?

gooドクター

A 回答 (5件)

初期化とはプログラムループに入る前にある値にプログラムコーディングで設定することですよね。


下記によると、「出来る」といえるのではないですか。
それとも例えば、INISIALIZE関数やメソッドがあるか
と言う質問ですか。
VB(VBAですか。そこをはっきり書かないと。)で
下記サンプルプログラムをやって見ました。
Private Sub Form_Click()
Dim d As Date
d = "0"
Form1.Print "ここを通りました"
Form1.Print d
Form1.Print Format(d, "yy/mm/dd")
MsgBox Year(d)
MsgBox Month(d)
MsgBox Day(d)
End Sub
Form1には00:00:00、89/12/30が表示され、MSGBOXでは1899、12,30(31で無い)と表示されました。
こう言うことはエクセルの日付に似ており、シリアル値
のスタート日を表示しているところから、その値でセットされているはず。したがってd+1とか整数的演算が可能と
言うことであり、表示する時だけyyyy/mm/ddほか書式に
したがってVBが表示してくれると思う。
ただこの利用法は思いつかないが。
""に付いてはやっていませんが。
    • good
    • 2
この回答へのお礼

>回答者の方へ

ありがとうございました。
imogasiさんからの指摘通り、
VBで処理やループの前に
イニシャライズが出来るか、と言う事です。
初期化について説明不足でしたね。
すみませんでした。

お礼日時:2002/11/06 10:13

 初期化する必要性はなんでしょうか?何をしたい時に初期化をするのですか?


 それによって、適切な答えが返ってくるかもしれません。
 #3の方の言う事を参考にしてみましょう。
 ちなみに、僕は初期化が必要な(ゼロにしなければいけないような)使い方はしません。
    • good
    • 0

DATE型の変数の根本にかかわる疑問です。


一般的な日時をあらわす場合、「時間」か「時刻」が入ることになります。
が、しかし、DATE型変数は、「時刻」を入れるには適していますが、「時間」を入れるには、やや不適切な使用になっています。

たとえば、誰かの誕生日から、どれくらい時間が経ったのか?をあらわすには、誕生日を原点として、現在時刻までの年月日時分秒を入れてあらわしたいところでしょうが、誕生日(時刻)がはっきりするまで初期値を得られませんね。
仕方ないので、私のかかわった仕事では、アプリケーションごとに「xx年1月1日0時0分0秒を0とする」といった約束を決めておくという手を使っています。

それでも、上記の例のように年まで入ってしまう場合、うるう年などが影響してしまうことがありますので、注意が必要です。
    • good
    • 0

どういうときに初期化したいのですか?

    • good
    • 0

できない

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング