bahareh_toto نوشته است:Dim M1
چرا نوع این ها را تعریف نکرده ...دلیلش چیه؟؟؟
اول این رو بگم که اگر نوع متغییر رو در جلوی دستور Dim نیاری وی بی به طور پیش فرض نوع Variant که همون ناشناخته هست رو به اون متغییر اختصاص می ده.
حالا شاید این سوال برات پیش بیاد که اصلا چرا با dim اومد و متغییر رو اعلام وجود کرد!
ببین در بعضی از کد ها "مثلا فرم ها و بخصوص ماژول ها و کلاس ماژول ها" عبارت Option Explicit در ابتدای اون کد اومده. این عبارت برنامه نویس رو مجبور می کنه که نوع همه متغییر های به کار رفته در کدش رو به وی بی معرفی کنه.
در این شرایط شما مجبور می شی حتما همه متغییر ها رو با Dim تعریف کنی.
اما حتی اگر عبارت Option Explicit هم وجود نداشت و حتی اگر متغییر شما از نوع ناشناخته Variant بود (مثال کد شما) بهتره برای افزایش خوانایی کدت از Dim برای تعریف متغییر استفاده کنی.
یعنی جناب arashrj با کاری که انجام داده داره نشون می ده که در کد نویسی تبهر و تجربه زیادی داره (کدش رو حرفه ای کرده با این کارش).
سلام...بازم تشکر میکنم به خاطر کمک هایی که به من میکنید
اول اگه میشه بگید متغیر variant شامل چی میشه !!!
ببین دوست من وقتی که ما متغیری با این نوع تعریف میکنیم بدین معناست که این متغیر میتواند از هر نوع داده رو در خودش ذخیره کنه و هیچ محدودیتی برای دریافت اطلاعات(از لحاظ نوع داده) نداره
و میتواند تمام انواع داده ها را که عبارتند از:
کد:
Array
Boolean
Byte
Currency
Decimal
Double
Integer
Long
Object
Single
String
.......
را در خودش نگهداره کنه
متوجه شدم ولی یکی از برنامه ها مشکل داره!!
در برنامه اول اگر اولین عدد بزرگترین عدد انتخابی باشه درنهایت در انتهای برنامه به اشتباه نما یش داده میشود
راستی میشه بگید چرا تو مسئله سوم از این استفاده کردید
m2= m2 & mid
من میخوام بدونم چرا دوباره با همون m2 ادغامش میکنی دوباره میریزی تو خودش
نقل قول: راستی میشه بگید چرا تو مسئله سوم از این استفاده کردید
m2= m2 & mid
من میخوام بدونم چرا دوباره با همون m2 ادغامش میکنی دوباره میریزی تو خودش
سلام
اگه کد رو نگاه کرده باشی ! متوجه میشی که m2 در ابتدا خالی است
بعد وارد یک حلقه تکرار می شود در این حلقه از سمت راست کاراکتر (ورودی کاربر) یکی یکی استخراج می کند و در m2 می ریزد (اگر m2 =m2 & نباشد در آخرین مرحله یعنی همان خروجی تنها یک کاراکتر دیده می شود !)
موفق باشی
خدانگهدار
سلام
کد 1 رو کمی تغییر دادم (مشکل حل شد !)
کد:
ReDim M(9) As Integer
Dim M1, M2 As Integer
For a = 0 To 9
M(a) = InputBox("Number" & a & " = ?", "Input")
Next
M1 = M(0)
For RJ = 1 To 9
If M1 <= M(RJ) Then M1 = M(RJ)
Next
M2 = M(0)
For RJ1 = 1 To 9
If M2 >= M(RJ1) Then M2 = M(RJ1)
Next
Print "Min=" & M2
Print "Max=" & M1
موفق باشی
خدانگهدار