تبليغاتX
آموزش کامپیوترو اینترنت,نرم افزار موبایل

توابع MsgBox و InputBox

از تابع MsgBox برای ارسال يک پيغام به کاربر و يا مطرح نمودن يک پرسش و دريافت جواب مثبت يا منفی او به سؤال مطرح شده و از تابع InputBox برای دريافت يک عبارت از کاربر، استفاده می‌شود.

توابع مذکور را می‌توان مانند دستور نوشت، يعنی نام يکی از آن دو را و با يک فاصله پارامترهای احتمالی آنها را نوشت. همچنين می‌توان آنها را مانند يک Function به VB معرفی کرد. (يعنی اين توابع دارای مقدار بازگشتی باشند) که برای اين منظور بايد پارامترهای آنها را داخل پرانتز نوشت.

پنج پارامتر اول Input Box به ترتيب عبارتند از:

Prompt: که يک عبارت رشته ای را (و يا يک متغير رشته ای (String) را) بجای آن می‌نويسيم که اين عبارت همان پيغامی خواهد بود که در اجرای  InputBox به کاربر نشان داده خواهد شد (مثلاً پيغام اينکه او بايد چه چيزی را وارد کند).


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:27 PM توسط Arash Afshar |

اضافه كردن DialogBox به برنامه:

مطمئنا تا بحال در ويندوز از كادرهاي محاورهاي زيادي مثل پنجره هاي Open، Save، نمايش خصوصيات چاپگر (Printer)، كادر انتخاب رنگ، كادر انتخاب Font و پنجره Help ويندوز استفاده كرده ايد.

در VBبراي نمايش اينگونه پنجرههاي محاورهاي از كنترل DialogBox استفاده ميكنيم. اين كنترل يكي از كنترلهاي  Non - Visual ويژوال بيسيك ميباشد. Non-Visual Controls همانطور كه قبلا هم آمده است، انواعي از كنترلها هستند كه فقط در زمان طراحي (Design Time) بر روي فرم ديده ميشوند و در Run Run Time فقط ميتوان از اثر آنها بهره برد.

كنترل مذكور بطور پيش فرض در ToolBar وجود ندارد. براي اضافه كردن آن به ToolBar بايد از منوي Project گزينه Components را انتخاب كنيم و در ليست Componentها، گزينه Microsoft Common Dialog Control 6 را چك مارك بزنيم و آن را تاييد (OK) نماييم. در اينصورت يك كنترل به شكل       به ToolBar افزوده خواهد شد كه مي توانيد آن را با دابل كليك بر روي فرم قرار دهيد. توجه داريم كه كنترل مذكور Non-Visual است و لذا نيازي به تنظيم مكان اين كنترل بر روي فرم نداريد.


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:25 PM توسط Arash Afshar |

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

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


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:22 PM توسط Arash Afshar |

شبيه سازي عمل Drag & Drop

فرض كنيد بخواهيم برنامه اي بنويسيم كه ظاهري شبيه آنچه در شكل 9 ميبينيد داشته باشد. و بتوانيم تصوير داخل PictureBox مبداُ (سمت چپ) را بوسيله Drag & Drop به PictureBox مقصد (سمت راست) منتقل كنيم.

شکل 9


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:20 PM توسط Arash Afshar |

همانطور که قبلاً نيز ذکر شد، هرگاه بخواهيم کاربر (User) از بين چند مورد، يک و فقط يک مورد را انتخاب کند (مثلاً سؤال چهار گزينه ای و ...) از کنترل Option Button استفاده می کنيم.

کنترل مذکور (مانند CheckBoxها) دارای مشخصه ای به نام Value می باشد که اگر مقدار آن برابر True باشد، انتخاب شده و در صورتی که برابر False باشد، انتخاب نشده خواهد بود. بنابراين اگر برروی فرمی مثلاً دو OptionButton قرار دهيم، مسلماً اگر مقدار Value از يکی را True کنيم، به طور خودکار مقدار Value برای ديگری False خواهد شد.زيرا فقط يکی از OptionBotton ها را می توان انتخاب کرد.


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:18 PM توسط Arash Afshar |

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

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

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


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:17 PM توسط Arash Afshar |

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

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


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:16 PM توسط Arash Afshar |

کنترل های 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 کنترل انتخاب شده، يک می شود.


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:14 PM توسط Arash Afshar |

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

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

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

Public Function Square (I As Integer) As Integer

           Square = I*I

End Function


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:11 PM توسط Arash Afshar |

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

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

1- تابع  (Function)

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


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:10 PM توسط Arash Afshar |

تعريف متغيرها

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


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:9 PM توسط Arash Afshar |

مشخصه Causes Validation

شايد زمانی که داشتيد روی مشخصات (Properties) مربوط به Text Box نظر می کرديد، مشخصه causes Validation را نيز ديده باشيد که ما در بخش قبل از آن نام نبرديم. اين مشخصه در بسياری از VCLها نيز وجود دارد و دارای کاربرد بسيار زيبايی است که شايد اگر وجود نداشت، برای شبيه سازی آن بوسيله کدنويسی، زمان زيادی را صرف خود می کرد.

فرض کنيد بر روی فرم يک Text Box به نام txtNumber وجود دارد که برای دريافت نمره يک درس دانش آموزی از کاربر، استفاده می شود. ترجيح می دهيم کاربر نتواند اين فرم را save کند (نتواند به سراغ کليد cmdSave برود) مگر اينکه نمره صحيح (که در فاصله صفر تا بيست است،) را وارد نموده باشد. اما مثلاً بتواند روی دکمه cmdCancel برود و فرم را Cancel نمايدو يعنی می خواهيم اگر نمره در دامنه صحيح خود نبود روی برخی ديگر از آنها نرود.

اگر برای رويدادِ(Event) Validate از txtNumber ، چنين داشته باشيم:


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:8 PM توسط Arash Afshar |

مثالی برای رويداد KeyPress

فرض کنيد بر روی فرم، يک Text Box به نام txtUserName قرار داده ايم و بخواهيم کاربر، هر حرفی را داخل آن نوشت، با حرف بزرگ انگليسی زده شود (يعنی اگر وارد کرد a، در Text Box درج شود A) در اين صورت کافی است برای رويداد KeyPress از آن بنويسيم:

Private Sub txtUserName_KeyPress (KeyAscii As Integer)

     KeyAscii = ASC (Ucase (Chr (KeyAscii)))

End Sub


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:6 PM توسط Arash Afshar |

تغييری در وضعيت مثال قبل و استفاده از رويداد KeyUp

فرض کنيد بخواهيم مثال قبل را طوری تغيير دهيم که با نوشتن هر رقمی در txtCelsius ، بدون نياز به فشردن کليد، نتيجه به طور خودکار در txtFahrenheit نوشته شود.مثلاً به محض اينکه عدد8 رازديم، تبديل شده 8 را به فارنهايت بنويسيد و به محض فشردن کليد 0 (روی هم شده است80) تبديل شده 80 را به فارنهايت بنويسد و ...

ابتدا کدهای نوشته شده برای cmdconvert را پاک کنيد و سپس خود کليد را نيز از روی فرم حذف کنيد تا به سراغ کدنويسی برای خودText Box ها برويم.

Text Box ها دارای جهار رويداد (Event) مهم می باشند:

KeyDown – KeyUp – KeyPress – Change


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:5 PM توسط Arash Afshar |

مثالی ديگر و استفاده از Label و TextBoxها

فرض کنيد بخواهيم فرمی داشته باشيم که دارای دو Text Box (که در VB برای عمليات دريافت اطلاعات از کاربر (DataEntrq) معمولاً از اين کنترل استفاده می شود) برای درجه سيلسيوس و درجه فارنهايت باشد و توسط يک دکمه (و در واقع با فشردن آن توسط کاربر) مقداری که در Text box مربوط به درجه سيلسيوس نوشته شده بود را به فارنهايت تبديل کند و نتيجه را در Text Box مربوط به آن درج نمايد. (توجه: اگر  Cمقدار درجه برحسب سيلسيوس و F مقدار درجه برحسب فارنهايت باشد، تبديل سيلسيوس به فارنهايت از فرمول F=9/5 C+32 محاسبه می شود). شکل نهايی فرم را می توانيد در شکل 4 ببينيد.

figure 4

 

برای اين منظور، از جعبه ابزار (جعبه حاوی کنترلها) ، دو برچسب (Label) که در جعبه ابزار به شکل ديده می شود را بر روی فرم قرار می دهيم(برچسب(Label) ها در VB معمولاً زمانی استفاده می شود


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:4 PM توسط Arash Afshar |

ابتدا فرمی که بر روی صفحه نمايش باز است (فعلاً به نام Form 1 ) را به اندازه دلخواه در می آوريم و در حالی که Select است، از پنجره Properties (سمت راست تصوير) ، مشخصه (Property) های زير را چنين Set می کنيم:

1-    مشخصه Name آن را به frmFirstProject تغيير می دهيم.

2-    مشخصه Caption آن را به First Project تغيير می دهيم.

مشخصه Caption معمولاً عنوانها را تغيير می دهد. مثلاً در مورد فرمها، آنچه در اين مشخصه Set شود در Title Bar از آن فرم ديده می شود يا در مورد دکمه ها، آنچه در اين مشخصه قرار داده شود، آن چيزی است که بر روی دکمه ( به عنوان نام دکمه ای که ُکاربر می بيند) ديده می شود.

مشخصه Name يکی از مهمترين مشخصه هايی است که بايد برای تمام کنترلها Set شود. آنچه در اين مشخصه قرار گيرد، نامی است که VB آن کنترل را به اين نام می شناسد (و خصوصاً در هنگام کدنويسی و برای دسترسی به کنترلها، بسيار مورد استفاده واقع می شود). به طور پيش فرض VB برای هر کنترل يک Name در نظر می گيرد، اما در پروژه های واقعی ، معمولاً تعداد کنترلها آنقدر زياد می شوند که نامهای پيش فرض به سختی در ذهن می ماند. برای اين منظور بهتر است به کنترلها، نامهايی را نسبت دهيم که از جهتی با او متناسب باشد. لذا بهتر است اولاً در نام آنها چيزی باشد که نشان از نوع آن کنترل باشد و عبارتی نيز باشد که بيانگر موضوع يا کار فعلی آن باشد. به عنوان مثال شما می بينيد که ما در مشخصه Name از form ، گفتيم که قرار دهيم: frmFirstProject که frm به خاطر تشخيص Form بودن آن است و First Project به خاطر تشخيص اينکه اين فرم برای First Project است. يا مثلاً به فرض اگر بخواهيم دکمه ای به نام Exit بر روی فرمی داشته باشيم، من ترجيح می دهم که نام آن را cmdExit بگذارم که cmd را از Command Button گرفته ام. توجه داريم که اين نامی است که VB آن را می شناسد وگرنه برای زيبايی کار Caption اين دکمه را همان Exit می گذاريم و اين نام گذاری به زيبايی پروژه ما لطمه ای وارد نمی کند.


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 12:0 PM توسط Arash Afshar |

معرفی بخشهای VB

 visual Basic (که زين پس آن را VB خواهيم خواند) از زبانهای برنامه نويسی تحت Windows  می باشد که برای کدنويسی از دستورات زبان Basic سود می برد.

VB (مانند تمام زبانهای برنامه نويسی تحت ويندوز) با استفاده از تمام امکانات زيبای ويندوز (که باعث فراگيرشدن اين سيستم عامل زيبا و توانمند در ميان کاربران شده است)، طراحی محيطی زيبا و قدرتمند را برای  پروژه مورد نظر، بسيار ساده می نمايد.

در حال حاضر، به جرأت می توان گفت که يکی از انتخاب های اصلي برنامه نويسان حرفه ای در سطح جهان برای تهيه پروژه های با قابليت های ويژه، VB می باشد، خصوصاً از VB6 که مايکروسافت عملاً با افزودن توانايی های متنوع بسيار به VB، حتی حاضر شد از ديگر زبانهای معروف تحت ويندوز خود مانند Visual C++ و Visual Foxpro بگذرد و سعی در هدايت تمام برنامه نويسان به سوی VB داشته باشد.

در حال حاضر که به تهيه اين جزوه همت گماردم، نسخه آزمايشی VB.net در بازار وجود دارد ولی عموماً برنامه نويسان ازVB6 استفاده می کنند و لذا ما نيز اين نسخه ازVB را برای آموزش انتخاب می کنيم، هر چند تمام خوانندگان عزيز می دانند که عموماً با فراگيری يک نسخه از يک برنامه، فراگيری نسخه های بعدی آن کار چندان دشواری نخواهد بود.

خوانندگان عزيز توجه داشته باشند که برای فراگيریVB، آشنايی با ويندوز و Basic لازم است. همچنين بهتر است در هنگام مطالعه، VB باز باشد و مطالب را در همان لحظه کار کنند.


ادامه مطلب
+ نوشته شده در Mon 20 Aug 2007ساعت 11:57 AM توسط Arash Afshar |