آموزش ويژوال بيسيك 6 به صورت گام به گام
      

 
Persian Forum Network - Try to be a Professional
صفحه نخست .:.  کاربران .:.   .:. تقویم  .:. کاربران آنلاین
خوش آمدید میهمان ( ورود | ثبت نام )
  /     /  


««12345»»»

آموزش ويژوال بيسيك 6 به صورت گام به گام باز / بسته
نویسنده
پیغام
ارسال شده در تاریخ پنج شنبه 21 اردیبهشت 1385 - 8:32 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555






yesايجاد پروسيجرyes


در VB، علاوه بر Event Procedureها که به ازای رويداد (Event) های مشخصی انجام می شوند، می توانيم تعدادی پروسيجر را نيز خودمان تعريف کنيم که به اين نوع پروسيجر، General Procedure (پروسيجر عمومی) گفته می شود که برای اجرای آنها می بايست نام آنها در جايی از برنامه، فراخوانی شود.
در VB (مشابه Basic) دو نوع پروسيجر داريم:


1- تابع  (Function)


2-  روال (Sub) .
توابع قطعه برنامه هايی هستند که هرگاه نام آنها در برنامه فراخوانی شود، لزوماً يک و فقط يک مقدار را به عنوان خروجی برمی گرداند در حالی که روال (ساب روتين) ها، قطعه برنامه هايی هستند که ممکن است به تناسب دارای يک يا چند خروجی و يا حتی بدون خروجی باشند.
توابع و روالها می توانند شامل تعدادی آرگومان (پارامتر) باشند که پارامترها در توابع فقط نقش ورود اطلاعاتی از برنامه به تابع را ايفا می کنند و نام خود تابع به عنوان خروجی تابع استفاده می شود در حالی که در روالها ورود و خروج داده ها، هر دو توسط همين پارامترها انجام می شود.
شکل کلی توابع به شکل زير است:


Function functionName (Parameters) As variableType








Commands


End Function


 


و همچنين شکل کلی روال ها:


Sub subName (Parameters)








 Commands


    


 


End Sub









اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55975
تبلیغات
ارسال شده در تاریخ پنج شنبه 21 اردیبهشت 1385 - 8:34 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555






Starنکاتی درباره پروسيجرهاStar


 توجه داشته باشيد که در ابتدای تعريف توابع و روالها می توانيم از Private يا Public نيز استفاده کنيم و تمام سطوحی که برای تعريف متغيرها گفته شد (خصوصاً سطح فرم و سطح ماژول) ، در اينجا نيز عيناً کاربرد دارند. (پيش فرض در اينجا هم Private است).


به عنوان مثال اگر بخواهيم تابعی به نام Square ايجاد نماييم که هر عددی را دريافت کرد، مربع آن را برگرداند، کافی است چنين بنويسيم (مثلاً به صورت Public در يک ماژول) :



Public Function Square (I As Integer) As Integer


           Square = I*I


End Function



ملاحظه می کنيد که در اينصورت اگر هر جايی از برنامه نام تابع را به همراه يک مقدار عددی Integer به عنوان پارامتر آن ذکر کنيم، مقدار عددی مذکور به متغير I داخل تابع منتقل شده و عمل I*I روی آن انجام می گيرد و از آنجا که گفتيم خرجی توابع نام آنها هستند، خروجی (يعنی مقدار I*I را) را به نام تابع جايگزين کرديم (يعنی Square = I*I) . حال مثلاً اگر در جايی از برنامه دستور b = Square (5) را وارد کنيم، مقدار متغير b برابر 25 خواهد شد.


توجه داريم که اگر تابع بيش از يک پارامتر ورودی داشت، بايد نام آنها با کاما (,) از هم جدا کنيم که در اينصورت در هنگام فراخوانی بايد به تعداد پارامترها، آرگومان قرار دهيم که به ترتيب در متغير مربوط جايگزين (وارد) می شود. مثلاً اگر بخواهيم تابعی به نام Multiple ايجاد کنيم که حاصلضرب دو پارامتر ورودی اول را با پارامتر ورودی سوم جمع کند و نتيجه را برگرداند، کافی است بنويسيم:



Private Function Multiple (a, b, c As Integer) As Integer


     Multiple = (a*b) +c


End Function



که در اينصورت دستورات زير در محلی از پروژه (که البته دسترسی Private به تابع مذکور داشته باشد)، مقدار 17 را در Text Box به نام txtResult قرار می دهد:



I = 3


bs = 5


g = 2


txtResult.Text = Multiple (I, bs, g)



توجه داريم که مقادير استفاده شده به عنوان آرگومانهای تابع بايد با متغيرهای به کار رفته در پارامترهای تعريف تابع از لحاظ نوع داده، يکسان باشند.حال به عنوان مثالی برای روالها فرض کنيد بخواهيم روالی به نام TF ايجاد کنيم که دو عدد را دريافت کند، بررسی کند که اگر اين دو عدد برابر بودند، جواب True  و همچنين حاصلضرب آن دو را برگرداند. برای اين منظور اگر مثلاً در يک ماژول تعريف کنيم:



Public Sub TF (x, y As Integer, T as Boolean, M as Integer)


     IF x = y then


          T = True


     Else


           T = False


     End IF


     M = x*y


End Sub



می توان در جايی از پروژه، روال مذکور را فراخوانی نمود، فراخوانی روالها توسط دستور Call صورت می گيرد، مثلاً اگر در جايی از پروژه، روال فوق را به صورت زير فراخوانی نماييم:



a = InputBox (“Please Enter a Number”)


Call TF (a, 15, s, p)



در صورتی که متغيرهای a و s و p تعريف شده باشند آرگومان a به پارامتر x از روال، آرگومان 15 به پارامتر y از روال، آرگومان s به پارامتر T از روال و آرگومان p به پارامترM از روال منصوب می شود. دستور InputBox يک جعبه محاوره‌ای برای کاربر نشان می دهد که پيغامی را (در اينجا پيغام Please Enter a Number) شامل می شود و در يک جعبه متن خاص، مقداری را از کاربر مطالبه می کند که پس از وارد کردن توسط کاربر مقدار وارد شده را برمی گرداند (و در اينجا در متغير a جايگزين می کند). حال اگر کاربر مقدار 15 را وارد کند، مقدار متغير s (که بايد Boolean تعريف شده باشد) برابر True و در غير اينصورت مقدار False را شامل می شود و در هر صورت متغير p نيز حاصلضرب a و 15 را در خود شامل می شود.


تأکيد می کنيم که نوع داده آرگومانها و پارامترهای تعريف لزوماً بايد به ترتيب متناسب باشد که در غير اينصورت VB به ما خطا صادر می کند.




اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55976
ارسال شده در تاریخ پنج شنبه 21 اردیبهشت 1385 - 8:39 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555






کنترل های Check Box و Option Button


به اطمينان، از زمانی که با ويندوز کار می کنيد، از کنترلهای Check Box و Option Box استفاده بسياری برده‌ايد.اگر بخواهيم به کاربر (User) اين امکان را بدهيم که از بين چند گزينه، يک ، دو يا چند مورد را انتخاب کند و يا حتی هيچ يک را انتخاب نکند از کنترل Check Box به شکل (1)، و اگر بخواهيم کاربر، از ميان چند گزينه، يک و فقط يک گزينه را انتخاب کند، از کنترل Option Button (کليدهای راديويی) به شکل (2)، اين دو کنترل VCL، مشخصه ای به نام Value دارندکه از صفر يا يک بودن مقدار آن، می توانيم به انتخاب نشده بودن و انتخاب شده بودن آن گزينه خاص، پی ببريم. لذا اگر برروی يک فرم چند Check Box وجود داشت، می تواند Value هر يک از آنها صفر يا يک باشد، اما اگر برروی فرمی، چند Option Button وجود داشت، تنها يکی از آنها می تواند Value برابر يک داشته باشد و وقتی کاربر، يکی ديگر را انتخاب می کند، به طور خودکار، Value قبلی صفر و Value کنترل انتخاب شده، يک می شود.
VB دارای دو ثابت (Constant) به نامهای VBChecked و VBUnchecked می باشد که به ترتيب برابر يک و صفر می باشند که می توانيم مقدار Value کنترلهای ذکر شده را با اين ثوابت مقايسه کنيم.
کنترل Check Box ، علاوه بر دو مقدار صفر و يک برای مشخصه Value ، مقدار برابر 2 نيز برای آن دارد که اگر به آن Set شود، اين کنترل، خاکستری رنگ (Gray) می شود که معمولاً در ويندوز نشان از پيش فرض بودن دارد. همچنين کنترل مذکور، مشخصه ای هم به نام Style دارد که اگر مقدار آن را از صفر به يک تغيير دهيم، شکل Check Box به شکل دکمه ای در می آيد که يک بودن مقدار Value، باعث فشرده شدن کليد و صفر بودن آن باعث بالا بودن کليد می‌شود.
نکته آخری که در اينجا متذکر می شوم اينست که طبق قراری که از ابتدا گذاشته بوديم، سه حرف اول مشخصه Name کنترلها بهتر است متناسب با کنترل بگذاريم. برای Check Boxها، نام را با chk و برای Option Buttonها، نام را با opt آغاز می کنيم و ادامه نامشان را معمولاً با Caption آنها کامل می کنيم. لازم به ذکر است که مشخصه Caption هر دو کنترل مذکور، حاوی آن عبارتی است که کنار آن کنترل برای معرفی آن به کاربر می آيد.









شکل 1


شکل 2


 




اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55977
ارسال شده در تاریخ پنج شنبه 21 اردیبهشت 1385 - 8:43 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555






مثالی از کنترل های Check Box و Option Button


فرض کنيد بخواهيم فرمی شامل يک Text Box و دو Check Box با عنوانهای Bold و Italic داشته باشيم که اگر Bold، مارک خورده بود، متن داخل Text Box به صورت Bold درآيد و اگر Italic مارک خورده بود به صورت Italic  فرم نهايی آن را در شکل 6 می توانيد ببينيد.


Figure 6



Private Sub chkBold_Click ()


           IF chkBold.Value = VBchecked Then


          txtDisplay.FontBold = True


     Else


          txtDisplay.FontBold = False


     End IF


End Sub



 


Private Sub chkItalic_Click ()


     IF chkItalic.Value = VBchecked Then


          txtDisplay.FontItalic = True


     Else


          txtDisplay.FontItalic = False


     End IF


End Sub



 توجه داشته باشيم که هرگاه کاربر بر روی يک Check Box و يا يک Option Button کليک کند و يا بوسيله کليد Tab ، فوکوس را به آن دهد و روی آن کليد Space bar را بزند، رويداد Click از اين دو کنترل روی خواهد داد.









اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55978
ارسال شده در تاریخ پنج شنبه 21 اردیبهشت 1385 - 8:51 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555







آرايه ای از کنترلها


حتماً يکی از الفاظی که در برنامه نويسی، از آن بهره بسياری برده ايد، آرايه می باشد. آرايه ها معمولاً خانه هايی از حافظه اند که تحت يک نام واحد و با انديس های متفاوت نامگذاری می شوند. در Basic هم آرايه ها (مانند ساير زبانهای برنامه نويسی) کاربرد فراوانی دارند که مثلاً توسط دستور Dim A (10, 10) As Integer يک آرايه دو بعدی (در واقع يک ماتريس) به نام A از نوع داده Integer تعريف می شود که سطر وستون آن دارای انديس های 0 تا 10 می باشد و توسط مثلاً A (5, 8) به خانه سطر 5 و ستون 8 از آن دسترسی خواهيم يافت.


در VB نيز (از آنجا که VB از Basic برای کدنويسی استفاده می کند) ، آرايه ها، تعريف آنها و نحوه دسترسی به خانه های آن به طريق فوق می باشد. اما آنچه در اينجا متفاوت است اينکه در VB می توان از کنترلها نيز يک آرايه ساخت. مثلاً چند Command Button با يک نام خاص و با انديسهای متفاوت ايجاد کرد تا بتوان کدهای واحدی را با تفاوت بسيار کم برای همه شان نوشت.


اگر از يک کنترل کپی کنيم (در حالی که فوکوس در Design Time به آن است، کليدهای CTRL+C را فشار دهيم) و سپس آن را در همان فرم Paste نماييم (کليدهای CTRL+V را فشاردهيم) ، پيغامی بر روی صفحه نمايش ظاهر می‌شود مبنی بر اينکه "يک کنترل ديگر با همين نام در فرم وجود دارد، آيا می خواهيد آرايه ای از کنترل ايجاد کنيد؟" که می توانيد جواب No به آن بدهيد. اما اگر به اين پيغام دکمه Yes را پاسخ دهيد، VB به طور خودکار نام هر دو را يکسان (و به نام کنترل کپی شده) در نظر می گيرد و Index کنترل اول را صفر و Index کنترل دوم را يک قرار می دهد (Index ، يکی از مشخصه (Property)های تمام کنترل ها می باشد).


می توان اينکار را دستی نيز انجام داد. يعنی دو کنترل (يا چند کنترل) خاص را يک نام واحد دهيم که در اينصورت VB پس از دادن يک پيغام مبنی بر همين موضوع، آن دو کنترل (يا چند کنترل) را به صورت آرايه کنترل تبديل خواهد کرد و به هر يک Index خاصی را نسبت خواهد داد.


اگر آرايه کنترل ايجاد کنيم، هر رويداد (Event) ای که بر روی هريک از عناصر رخ دهد (مانند Click و غيره) ، روی تمام آرايه صورت مي گيرد و مقدار Index مربوط به عضوی که رويداد بر روی آن صورت گرفته، به عنوان يکی از پارامترهای پروسيجر آن، باز می گردد. برنامه بعد را بنويسيد تا با نحوه کار آرايه کنترلها آشنا شويد.


 








 

rahzani2006-05-11 19:06:57



اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55979
ارسال شده در تاریخ پنج شنبه 21 اردیبهشت 1385 - 10:20 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555






مثال: طراحی يک ماشين حساب ساده


فرض کنيد بخواهيم يک ماشين حساب ساده، مطابق آنچه در شکل 7 می‌بينيد، طراحی کنيم:


 


يک Label به نام lblDisplay به عنوان نمايشگر ماشين حساب و با Caption برابر مقدار" 0" (زيرا مقدار اوليه ماشين‌حساب‌ها صفر می باشد) در محل خود قرار می دهيم. همچنين يکCommandButtonبه نام cmdequal به عنوان دکمه مساوی" و با Caption برابر "= " نيز در محل مخصوص خود قرار می دهيم.


حال ده عدد Command Botton ديگر با Caption های به ترتيب برابر " 0" تا "9 " را در جای خود قرار می دهيم و سپس نام همه اين ده دکمه را به نام cmdNumber  تغيير می دهيم. در اين صورت همانطور که گفته شد، VB اين ده کنترل را به صورت آرايه کنترلی (Control Array) در نظر خواهد گرفت (به پيغام داده شده با همين مضمون جواب Yes دهيد).


به همين ترتيب چهار CommandButton ديگر را با Captionهای "+ " و "- " و "* " و "/ " و با نام يکسان cmdOprator به عنوان دکمه های چهار عمل اصلی به صورت آرايه کنترلی در محل های خود قرار می دهيم.


حال کافی است در يونيت مربوط به اين فرم، چنين کدنويسی کنيم (توجه داشته باشيد که متغيرهاي x و y و op در سطح فرم (Form Level) تعريف شده اند و لذا مقدار آن در تمام فرم قابل دسترسی خواهد بود) :



Option Explicit


Dim x,y As Integer


Dim op As String


 Private Sub cmdNumber_Click (Index As Integer)


          IF lblDisplay = “Ø” then lblDisplay = “”


          lblDisplay = lblDisplay + cmdNumber(Index).Caption


End Sub


 Private Sub cmdOprator_Click (Index As Integer)


          x = Val(lblDisplay)


          op = cmdOprator(Index).Caption


          lblDisplay = “Ø”


End Sub


Private Sub cmdEqual_Click ( )


          y = Val (lblDisplay)        


          Select Case op


                   Case “+”


                             lblDisplay = x + y


                   Case “-”


                             lblDisplay = x - y


                   Case “*”


                             lblDisplay = x * y


                   Case “/”


                             lblDisplay = x / y


          End Select


End Sub


 



توجه داريد که:




  1. در رويدادهايی که مربوط به آرايه های کنترلی (يعنی cmd Number و cmdoperator ) است، يک پارامتر به نام Index در آن وجود دارد که شماره Index (انديس) کليدی که فشرده شده را برمی‌گرداند. و لذا مثلاً cmdOprator(Index).Caption برابر "+" خواهد بود، اگر کليد + فشرده شود و برابر "- " خواهد بود، اگر کليد – زده شود و ...



  2. مشخصه (Property) پيش فرض برای Labelها Caption است و لذا هر جا lblDisplay ذکر شده است، توسط VB مانند lblDisplay.Caption در نظر گرفته می شود.



  3. توسط دستور Select Case، يک متغير (که نام آن جلوی دستور Select Case نوشته می شود) با مقادير مختلفی (که جلوی دستورات Case بعدی نوشته می شود) چک می شود که اگر برابر هر يک از اين مقادير بود، دستور پس از همان Case اجرا می شود.






rahzani2006-05-11 19:04:38



اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55980
ارسال شده در تاریخ یکشنبه 24 اردیبهشت 1385 - 11:02 صبح


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555







لابد از اهميت فوق العاده زياد منوها در ويندوز مطلع هستيد. منوها علاوه بر تنوع و زيبايي فرم‌ها، به شلوغ نشدن يك فرم توسط دكمه هاي زياد نيز كمك مي‌كنند.


براي درست كردن منو براي يك فرم از MenuEditor كه در منوي Tools قرار دارد استفاده مي كنيم. همچنين MenuEditor يك دكمه فوري نيز بر روي ميله ابزار استاندارد VB به شكل  دارد كه با كليك بر روي آن نيز پنجره MenuEditor باز مي شود. اين پنجره مانند شكل 10 مي باشد:




شکل 10

در پنجره مذكور كافيست عنوان منوي اول (مثلاMenu1) را در كادر Caption بنويسيم و مانند ساير objectهاي VB به اين منو هم يك نام (مثلاmnuMenu1) در كادر Name وارد كنيم. حال براي وارد كردن نام و عنوان منوي بعدي كافيست كليد Next را بزنيم. اما معمولا منوي بعدي، آيتمي از منوي قبلي خواهد بود. اگر كليد     را بزنيم، منوي جاري به عنوان زير منوي قبلي محسوب خواهد شد. پس از وارد كردن اولين آيتم كافيست بوسيله دكمه Next آيتم هاي بعدي اولين منو را نيز وارد كنيم. اگر يكي از آيتم ها خود شامل زير آيتم هايي بود باز هم مي توان از كليد      سود برد. و بالاخره براي اينكه به سراغ منوي دوم برويم لازم است از كليد     به تعدادي استفاده كنيم كه ديگر زيرمنوي يك منوي ديگر نباشد و به همين ترتيب ساير منوها و آيتمها را نيز نامگذاري و عنواندهي ميكنيم و ساختار مورد نظرمان را براي منوها ايجاد ميكنيم.


لذا اگر منوها را در MenuEditor طوري وارد كنيم كه پنجره پايين MenuEditor مطابق آنچه در شكل 10 ميبينيد، شود، انتظار داريم در هنگام اجرا، فرمی شبيه آنچه در شکل 11 می بينيد، حاصل شود:



شکل 11


توجه داشته باشيد كه در MenuEditor علاوه بر آنچه تابه‌حال گفته شد:


• دكمه Delete براي پاك كردن يك منو (يا آيتم) استفاده مي شود.


• دكمه Insert براي افزودن يك منو (يا آيتم) ميان دو منو (يا آيتم) ديگر استفاده مي شود


• Check Boxهاي Visible و Enable به ترتيب اگر انتخاب نشده شوند، منوي مذكور ديده نمي شود و يا اينكه فقط غيرفعال (و به رنگ خاكستري) خواهد شد.


• Check Box با عنوان Checked اگر انتخاب شود، باعث خواهد شد تا كنار آن منو (آيتم) يك "چك‌مارك" ديده شود. (معمولا اين مشخصه در Run Time و بر حسب نياز تنظيم مي شود)


• توسط Shortcut مي توانيم يك ميانبر (Shortcut) براي يكي از آيتم‌ها درست كنيم..


• توسط Index مي توانيم آرايه اي از منوها را طراحي نماييم ( همانطوری که آرايه ای ازساير کنترلها  درست می کرديم، يعنی بايد نام دو يا چند منو را يک نام واحد بگذاريم و Index متفاوت به هريک بدهيم.)


• و توسط NegotiatePosition مي‌توان نوع چيدن آيتم‌ها (راست چين، چپ چين، وسط چين) را تعيين نمود.


چند تذكر:


• براي دستيابي به مشخصه هاي منوها نيز مانند ساير كنترلها از نام آنها و يك نقطه(Dot) و سپس نام مشخصه مورد نظر استفاده مي كنيم. مثلا اگر منويي به نام mnuOpen داشته باشيم و بخواهيم آن را غيرفعال و يا مارك‌دار نماييم به ترتيب از دستورات زير استفاده خواهيم كرد:



mnuOpen.Enable = False


mnuOpen.Checked = True



• مشخصه WindowList در بحث MDI Forms خواهد آمد و از مشخصه HelpContentID نيز تنها زماني كه يك فايل HLP داشته باشيم مي‌توانيم استفاده كنيم.


• اگر بخواهيم بين دو آيتم از منويي يك خط جداكننده آورده شود (آنچه در ويندوز براي جداكردن بخشهاي مختلف يك منوي خاص معمول است) كافي است بين آن دو آيتم، يك آيتم Insert نماييم، نام آن را يك نام دلخواه (مثلا mnuLine) و عنوان (Caption) آن را يك منفي (كاراكتر "-" يا اصطلاحا Dash) بگذاريم.


• اگر بخواهيم براي شي خاصی يك PopUpMenu طراحي كنيم (منوهاي بازشونده‌اي كه وقتي بر روي شي كليك راست شود از آن خارج مي‌شود) كافيست يك منو (با آيتمهاي مورد نظر براي آن) را طراحي كنيم (و حتي در صورت نياز Visible آن را False كنيم) و در رويداد MouseDown از آن شي خاص، پس از اينكه شرط كرديم كليد زده شده كليد راست ماوس باشد (با استفاده از شرط برابري پارامتر Button از اين رويداد با مقدار ثابت VbRightButton)، با استفاده از دستور PopUpMenu، نام منوي مورد نظر را فراخواني مي كنيم يعني بايد چنين داشته باشيم:



Private Sub controlName_MouseDown (Button As Integer,…)


          IF Button = VbRightButton Then


                   PopUpMenu mnuMenu1


          End IF


End Sub



كه بجاي controlName نام آن كنترلي كه قرار است كاربر روي آن كليك راست نمايد و بجاي mnuMenu1 نام آن منويي كه قرار است به صورت PopUp آورده شود را ذكر مي كنيم.









اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55981
ارسال شده در تاریخ یکشنبه 24 اردیبهشت 1385 - 11:10 صبح


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555

برگرفته از p30world:


آشنایی با ویژوال بیسیک 6
تاریخچه ویژال بیسیک.
با شناختی که از تاریخچه ویژوال بیسیک بدست می آورید راحت تر می توانید از آن استفاده کنید.
شرکت مایکروسافت ویژوال بیسیک را براساس یک زبان برنامه نویسی به نام بیسیک که برای مبتدیان نوشته شده است ساخت.
زبان ویژوال بیسیک بیشتر از 35 سال به اشکال مختلف رایج بوده. در واقع طراحان این زبان می خواستند یک زبان برنامه نویسی برای استفاده مبتدیان طراحی کنند.برنامه نویسان جدید می توانند با استفاده ازبیسیک به سرعت به شرع برنامه نویسی های حرفه ای با زبان های cobol .fortran . assembler
در مقایسه به بیسیک کار بیشتری نیاز داشت.
طبیعت بصری ویژوال بیسیک
دیدید که ویژال بیسیک 6 چیزی بیشتر از یک زبان برنامه نویسی است. از ویژوال بیسیک در نام آن visualبه معنای بصری یا محیط نمایشی . است.
کار با ویژال بیسیک 6
در اولین بار که برنامه را باز می کنید با پنجره new project روبه رو می شوید در این قسمت
نوع فورم خود را انتخاب کرده ماننده activex|standardو....
این پنجره شامل 3 قسمت بوده
New:در این پنجره امکان انتخاب فورم مورد نظر شما امکان پذیر می باشد.
Existing:در این پنجره امکان انتخاب project های مختلف که در مکانهای مختلف ذخیره یا... امکان انتخاب می باشد.
Recent:در این قسمت هر projectرا که ذخیره می کنید به صورت دسته ای جمع می شود حالا یک فایلی
در درایو Dباشد حالا چه در درایو c.
DON.T SHOW THIS DIALOG IN THE FUTURE
این قسمت جلو گیری از باز شدن پینجره NEW PRIJECT می باشد.
HELP:از این قسمت وقتی امکان استفاده می باشد که نرم افزار MSDN را نصب کرده باشید.
معرفی قسمت های بیسیک.
نوار ابزار:TOOLBAR:نوار ابزار VB زیر منو قرار دارد. ویژال بیسیک کلا چهار نوار ابزار دارد:
STANDARD:این نوار ابزار زیر منو ظارهر است و پیش فرض است.
DEBUG:وقتی از ابزارهای رفع اشکال برای ردیابی و اصلاح اشکالات استفاده می کنید. این نوار ابزار ظاهر می شود.
EDIT:این نوار ابزار برای تنظیم کردن اشیاء بر روی فرم می باشد
FORM EDITOR:این نوار ابزار برای تنظیم کردن اشیاء بر روی فرم می باشد.
جعبه ابزار:TOOLBOX:
در این پنجره تمامی شئعی های مختلف برای کار بر روی فرم هستند و حتا امکان اضافه کردن به این پنجره ها می باشد.
پنجرهPROJECT:در این پنجره فرم های انتخبی شما با هر گروه و هر فرم مشخص شده است.
پنجرهPROPERTISE:
این پنجره امکان تنضیمات لازم برای هر شیئی را مشخص می کنید.




اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55982
ارسال شده در تاریخ پنج شنبه 28 اردیبهشت 1385 - 7:19 بعدازظهر


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555
کنترل برنامه ها
کنترل برنامه ها
عملگر های شرطی
مثالا می خواهید برنامه ای برایحساب پرداخت ها بنویسیم.این مقدار طلب هر فروشنده را که با آن معادله دارید محاسبه می کند و چک مربوط را چاپ می نماییم.حال اگر با یکی از فروشندگان مبادله نداشته باشد چه رخ می دهد.
می خواهیم یک چک به مبلغ صفر دلار چاپ کنیم؟؟؟ مطمئنا پاسخ منفی است. تا اینجا همه کد های که درون روال دیده ایددستور به دستور اجرا می شوند. اما به کمک عملگرهای شرطی و دستور های مر بوط می توانید. برنامه ای بنویسید. که اگر لازم بود ترتیب اجرای دستورات تغییر نکند. بنابراین برنامه شما می تواند فقط چکهایی را چاپ کند که به فروشندگان آنها مبلغیبدهکار هستند.
ویژال بیسیک از 6 عملگرها شرطی پشتیبانی می کند.
عملگرها:=|<|>|=<|=>|<>
توضیح:مساوی|بزرگتر از|کوچکتر از|بزرگتر یا مساوی|کوچکتر یا مساوی|نا مساوی
مثال:2=7|3<6|11>5|23=<23|21=>4|3<>3
نتیجه:غلط|درست|درست|درست|درؠ ?ت|غلط
داده های شرطی
همیشه دو مقدار را با هم مقایسه کنید که از یک نوع داده باشند. مثلا می توانید دو عدد از یک نوع را با هم مقایسه کنید تا ببینید کدام بزرگتر است. همچنین می توانید رشته های را با هم و انواع boolean را نیز با هم دیگه مقایسه کنید.
اما هیچ وقت سعی نکنید یک رشته را با یک عدد مقایسه کنید چون نتیجه معمولا اشتباه در می آید.

دستور if
یک از متد اول ترین فرمان های زبان ویژال بیسیک فرمان if است . فرمان if قسمتی از یک دستور چند خطی به نام دستور if می باشد که فرمت آن به شکل زیر می باشد:

If conditional then
Block of one or more visual basic statements
End if
Conditional عبارتی است که نتیجه آن true یا false می باشد. در نتیجه conditional می تواند یک متغیر بولی بشد.می تواند یک کنترل معادل با مقدار true یا false باشد یا حتی ممکن است یک عبارت طولانی تر باشد که شامل عملگرهای شرطی و امتحان یک یا چند عملگر منطقی است.
وقتی که ما از دستور if استفاده می کنید دستور اگر می باشد مثالا می گوییم اگر فلان چیز را زد یا ...
فلا چیز بعدی اجرا یا ... اعمال شود این دستور یکی از دستور های است که در اکثر زبان های دیگر کا می کند. و اگر از این دستور در ویبی نخواهید استفاده کنیم یه جای کار می لنگه.
بدنه یک دستور if باید بصورت تو رفته باشد تا بتواند با یک نگاه نقاط شروع و خاتمه این دستور را تشخیص دهید . کلیه دستورات if چند خطی دارای مجموعه متناظری از دستورات end if در جایی از برنامه می باشند . دستور end if همیشه با آخرین دستور if مرتبط است بدون توجه به اینکه چقدر تو رفته باشد.
مقایسه داده ها به وکمک if

If (cursales > cursalesgoal) then
Cursalarybonus=100.00
Lblsalesnote.caption="maji"
Lblsalesnote.backcolor=red
Lblsalesnote.fontbold=true
End if
تکمیل دستور if با لغت کلیدی else
در قسمت های بالا در مورد شکل دستور ifآشنا شدید. اما برنامه نویسان غالب اوقات از شکل توسعه یافته آن استفاده می کنند.
که فرمت زیر را دارد.

If conditional then
Block of one or more visual basic statements
Else
Block of one or more visual basic statements
End

برگرفته از p30world.com



اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55983
ارسال شده در تاریخ پنج شنبه 11 خرداد 1385 - 12:23 صبح


کسی به گرد پاش نمیرسه

کسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسهکسی به گرد پاش نمیرسه

گروه: کاربران
آخرین بازدید: دوشنبه 18 خرداد 1388 - 4:05 صبح
پست ها: 547, بازدید ها: 555

در اینجا نیز مانند کلیه دستورهای چند خطی برای واضح شدن بدنه دستور بصورت تو رفته می باشد.
اما به خاطر داشته باشید. که این شیوه ضروری نیست. اولین فرمت if که قبلا دیدید کدی را نشان می داد که اگر شرط درست باشد این کد اجرا می شد.
در این فرمت اگر شرط غلط باشد کدی برای اجرا وجود نخواهد داشت. Else بدین منظور به کار می رود.
دستور if…elseاز آنکه if … else خاتمه یافت اجرای بقیه برنامه ادامه یافت پیدا می کند.
دستورات if تو در تو


If text.text="majid" then
If text.text="majid2" then
Text2.text="majid"
Else
Text2.text="majid3"
End if
End if

گاهی اوقات بر اساس داده های مختلف ممکن است بخواهد یک رویداد یا نوع از روال ها را زودتر از موعد مقرر خاتمه دهید. برای انجام این کار می توانید دستور if را با دستور exit ترکیب کنید.
Exit sub|function|do|for
استفاده از دستور exit sub برای ختم زودرس یک روال
دستورات if…elseتودرتو
چنمانچه بخواهیم یک دستور if…else را درون یک دستور دیگر if……else قرار دهید باید برای شروع دستور if تو در تو از elseif استفاده کنید.
Elseif کمک می کند تا دو یا چند دستور if….else تو در تو با هم ترکیب شوند.


If text1.text="majid" then
Text2.text="majidddddddd"
Elseif text12.text="majidddddddddd"
Text3.text="ddd"
End if

همانطور که دیدید ما در قسمت if می گفتیم اگر وelse را در بین if می گزاشتیم که اگر خواستیم بگویید ویا
حال دستور elseif می گوید ویا اگر که هم ویا است و هم اگر یعنی دستور ویا دستو استفاده می شود.
انتخاب از طریق دستور select case
مناسب ترین موقعیت برای استفاده ار دستور select case هنگام انتخاب با وجود چند شرط است . مسلما اگر بیشتر از سه یا چهار دستور if…else تودرتو داشته باشید نتیجه یک برنامه پیچیده خواهد بود.بعبارت دیگر وارد یک منطق در هم و برهم بصورت زیر می شوید : اگر این درست باشد. بعد اگر این درست باشد.
بعد اگر این هم درست باشد آنگاه کاری را انجام بده در غیر این صورت ... فرمت select case بصورت زیر است.


Select case expression
Case expressionmatch
Block of one or more visual basic statements
[ case expressionmatch1
Block of one or more visual basic statements]
[ case expressionmatch2
Block of one or more visual basic statements]
[ case expressionmatch3
Block of one or more visual basic statements]
End select

Select caseیک مورد را از میان چند مورد انتخاب می کند. تعداد شرایطی که امتحان می شوند به نیاز شما بستگی دارد. این شرایط بصورت[case expressionmatch#...] نشان داده می شوند. فرض کنید که هیچکدام از این شرایط بر قرار نباشند.علیرغم فرمت پیچیده استفاده از دستور select case ساده است. به مثال زیر توجه کنید.


Select case txtgrade.text
Case "a"
Lblannounce.caption="ma"
Case "b"
Lblannounce.caption="maa"
Case "c"
Lblannounce.caption="maj"
Case "d"
Lblannounce.caption="maji"
Case "f"
Lblannounce.caption="majid"
Case else
Lblannounce.caption="majid rahimy"
End select

 

 

برگرفته از P30world.com



اميدوارم که از مطالبا راضی باشيد اگر سوالی داشتيد مطرح کنيد .



با تشکر
پست شماره 55984
« تاپیک قبلی | تاپیک بعدی »

««12345»»»

خواندن این تاپیک باز / بسته
کاربر فعال: 5 (5 مهمان, 0 کاربر, 0 کاربر ناشناس)
در حال حاضر هیچ کاربری در حال مشاهده این تاپیک نیست.
مدیران انجمن: Farshad, Shahrad, Xiphi, علیرضا, ace4cia, fmh1, Armin25

دسترسی ها باز / بسته

اختلاف زمانی GMT +3:30, ساعت 11:23 صبح



   Sponsored By
EUKHOST - InstantASP - MTN Irancell - IranBuyCenter
Execution: 0.094. 17 queries. Compression Disabled
Powered By InstantForum.NET v4.1.4 © 2010
Contact Us .:. Advertising .:. Professional Web Hosting.:. Account Setting
PF News .:. Dolphins .:. PF Girls .:. PF Boys .:. PFN MVP .:. Persian Pics
2004-2010 Persian Forum Network. All Rights Reserved.