PDA

View Full Version : چطور مقدار یک متغیر از نوع date را برابر Null قرار بدم؟



saghari
شنبه 18 آذر 1385, 14:14 عصر
با سلام من یک متغیر از نوع Date تو برنامه تعریف کردم اما وقتی اونو برابر Nothing قرار می دهم هنوز مقدار ساعت رو حفظ می کنه در حالی که من میخوام این متغیر کلا null بشه. قبلا از راهنمایی شما متشکرم.

dim MyDate as Date=Nothing
msgbox(MyDate)= 12:00:00 Am

titbasoft
شنبه 18 آذر 1385, 15:38 عصر
Date یک value Type است پس مقدار اون به طور مستقیم نگداری میشه (بر خلاف reference type ها که مقدارشون توسط یک Pointer در managed heap ذخیره میشه) پس چون اشاره گری وجود نداره طبیعیه که با Nothing کردن این متغیرها اشاره گری هم از بین نمیره و تنها اتفاقی که میافته اینه که مقدار اونها Reset میشه. مثلا اگر یک متغیر integer رو nothing کنید و بعد مقدارش رو چک کنید به جای پیام خطا مقدار صفر یعنی مقدار پیشفرض اون رو خواهید دید.

اَرژنگ
شنبه 18 آذر 1385, 18:00 عصر
با سلام من یک متغیر از نوع Date تو برنامه تعریف کردم اما وقتی اونو برابر Nothing قرار می دهم هنوز مقدار ساعت رو حفظ می کنه در حالی که من میخوام این متغیر کلا null بش

چرا ؟ مشکل اصلی که میخواهید با این روش حل کنید چیه؟

مهدی نان شکری
یک شنبه 19 آذر 1385, 12:09 عصر
با سلام
شاید این کد به دردتون بخوره.

Dim a As Nullable(Of Date)
a = Nothing
MsgBox(a)

مهدی نان شکری
یک شنبه 19 آذر 1385, 12:10 عصر
البته کد بالا در VB 2005 کار خواهد کرد

saghari
دوشنبه 27 آذر 1385, 10:17 صبح
از تمامی عزیزان متشکرم