نمایش نتایج 1 تا 8 از 8

نام تاپیک: تفاوت بین Const و Const#

  1. #1

    Question تفاوت بین Const و Const#

    با سلام
    می خواستم بدون فرق بین تفاوت بین Const و Const# چیه و جچوری تعریف و مقدار دهی میشن

  2. #2

    نقل قول: تفاوت بین Const و Const#

    سلام
    Const : ثابت هایی را برای استفاده در برنامه تعریف میکند،
    Const#: ثابت هایی را برای شرطی کردن کامپایلر ویژوال بیسیک تعریف میکند،

    موفق باشید
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

  3. #3

    نقل قول: تفاوت بین Const و Const#

    در مورد Const# میشه بیشتر توضیح بدین

  4. #4

    نقل قول: تفاوت بین Const و Const#

    در ویژوال بیسیک دو دستور یکی برای تعریف ثابت و دیگری برای شرطی کردن کمپایلر وجود دارد، این دستورات تنها در کمپایلر کاربر دارند:
    #If...Then...#Else : شرطی که تعیین میکنیم کدام کدها کمپایل شوند
    #Const: یک ثابت variant را منحصرا" برای استفاده در شرط #If تعریف میکند

    به عنوان مثال برنامه ای نوشته ایم که قصد انتشار آن را در دو نسخه demo و fullversion داریم، در اینصورت میتوانیم با دو دستور فوق انتخاب کنیم که کدام کدها در نسخه demo و کدام در نسخه fullversion کمپایل شوند که در اینصورت کدهای نسخه کامل برنامهدر نسخه دمو وجود ندارند، کد زیر را ببینید:

    #Const fullVer = 0

    Private Sub Command1_Click()
    #If fullVer Then
    MsgBox "Full version", vbInformation
    #Else
    MsgBox "Trial version", vbExclamation
    #End If
    End Sub


    دو ثابت از پیش تعریف شده نیز وجود دارند که از آنها برای تشخیص win16,32 استفاده میشود، در اینصورت میتوانید مانع از کمپایل دستورات علل الخصوص توابع api win16 در win32 و بالعکس شوید، کد زیر را بررسی کنید:

    #If Win16 Then
    Const WinVer$ = "Win16"
    #ElseIf Win32 Then
    Const WinVer$ = "Win32"
    #End If
    Private Sub Command1_Click()
    MsgBox WinVer$
    End Sub


    همچنین میتوانید ثابت های #Const را در ProjectSettings در جعبه "Conditional Compilation Arguments" نیز تعریف کنید، در اینصورت لازم نیست #Const را صریحا" در ماژول تعریف کنیم، اگر تعداد ثابت های تعریف شده در جعبه "Conditional Compilation Arguments" بیش از یکی است آنها را بوسیله ":" از هم جدا کنید
    مثلا":
    Arg1=1 : Arg2=2

    موفق باشید
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

  5. #5

    نقل قول: تفاوت بین Const و Const#

    خيلي ممنون از جوابتون. حالا هيج راهي نداره مقداري كه در arg هستش رو چاپ كنيم فقط تو دستور شرطي كاربرد داره؟؟

  6. #6

    نقل قول: تفاوت بین Const و Const#

    نقل قول نوشته شده توسط kami_63 مشاهده تاپیک
    خيلي ممنون از جوابتون. حالا هيج راهي نداره مقداري كه در arg هستش رو چاپ كنيم فقط تو دستور شرطي كاربرد داره؟؟
    خیر، این ثابت فقط در دستور شرطی #If کاربرد داره، و نمیتوان از آن در جایی بجز #If استفاده کرد، و اگر در ماژول، دستور Option Explicit وجود داشته باشد، در صورت تلاش برای بدست آوردن مقدار #Const خطای Not defiend داده میشود
    کد زیر را هم بررسی کنید:

    Option Explicit
    #Const MyVal = "CConstant"
    Const MyVal = "UConstant"

    Private Sub Command1_Click()
    MsgBox MyVal
    End Sub

    همانطور که میدانیم اگه دوتا متغیر هم نام در یک ماژول یا روال اعلان شوند خطای Ambiguous Name ظاهر میشود، حال اینکه در کد بالا اینطور نیست، MsgBox محتویات Const MyVal را نشان میدهد

    موفق باشید
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

  7. #7
    کاربر دائمی آواتار kitcat_m18
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اداره - پشت میز کامپیوتر
    پست
    488

    نقل قول: تفاوت بین Const و Const#

    سلام،

    ببخشيد آقاي واژدي من متوجه نشدم چجوري ميشه فول ورژن يا تريال بودن رو مشخص کرد




    #Const fullVer = 0

    Private Sub Command1_Click()
    #If fullVer Then
    MsgBox "Full version", vbInformation
    #Else
    MsgBox "Trial version", vbExclamation
    #End If
    End Sub




    متوجه شدم که کاربرد کد چيه و چي ميگه اما چجوري بگيم که برنامه فول ورژنه يا تريال؟؟؟

    با تشکر

  8. #8

    نقل قول: تفاوت بین Const و Const#

    نقل قول نوشته شده توسط kitcat_m18
    چجوري ميشه فول ورژن يا تريال بودن رو مشخص کرد
    سلام علیکم
    در نمونه کد زیر کد های نسخه کامل را جایگزین پیام اول یعنی:
    MsgBox "Full version", vbInformation میکنیم، و کدهایی که حاوی محدودیت هایی در استفاده است جایگزین پیام دوم میکنیم
    در پایان برای کمپایل برنامه در نسخه دمو مقدار fullVer را برابر صفر و برای انتشار نسخه کامل fullVer را یک مقدار دهی میکنیم


    #Const fullVer = 0



    Private Sub Command1_Click()

    #If fullVer Then

    MsgBox "Full version", vbInformation

    #Else

    MsgBox "Trial version", vbExclamation

    #End If

    End Sub

    موفق باشید
    .: مداحی دلنشین شهیدی که در زادروز ولادتش پرکشید [ تصاویر... ]
    .: مداحی دلنشین شهید غلامعلی رجبی [ تصاویر... ]

    .: لطفا سوالاتی که قابل طرح در انجمن هستند را در خصوصی ارسال نفرمائید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •