نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: معرفی بخشهای vb

  1. #1
    کاربرسایت PARS آواتار ها
    تاریخ عضویت
    ۸۷-۰۲-۲۵
    نوشته ها
    666
    سپاس ها
    0
    سپاس شده 0 در 0 پست

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

    visual Basic(که زين پس آن را VB خواهيم خواند) از زبانهای برنامه نويسی تحت Windows می باشد که برای کدنويسی از دستورات زبان Basic سود می برد.
    VB(مانند تمام زبانهای برنامه نويسی تحت ويندوز) با استفاده از تمام امکاناتزيبای ويندوز (که باعث فراگيرشدن اين سيستم عامل زيبا و توانمند در ميانکاربران شده است)، طراحی محيطی زيبا و قدرتمند را برای پروژه مورد نظر، بسيار ساده می نمايد.
    درحال حاضر، به جرأت می توان گفت که يکی از انتخاب های اصلي برنامه نويسانحرفه ای در سطح جهان برای تهيه پروژه های با قابليت های ويژه، VB می باشد، خصوصاً از VB6 که مايکروسافت عملاً با افزودن توانايی های متنوع بسيار به VB، حتی حاضر شد از ديگر زبانهای معروف تحت ويندوز خود مانند Visual C++ و Visual Foxpro بگذرد و سعی در هدايت تمام برنامه نويسان به سوی VB داشته باشد.
    در حال حاضر که به تهيه اين جزوه همت گماردم، نسخه آزمايشی VB.net در بازار وجود دارد ولی عموماً برنامه نويسان ازVB6 استفاده می کنند و لذا ما نيز اين نسخه ازVBرا برای آموزش انتخاب می کنيم، هر چند تمام خوانندگان عزيز می دانند کهعموماً با فراگيری يک نسخه از يک برنامه، فراگيری نسخه های بعدی آن کارچندان دشواری نخواهد بود.
    خوانندگان عزيز توجه داشته باشند که برای فراگيریVB، آشنايی با ويندوز و Basic لازم است. همچنين بهتر است در هنگام مطالعه، VB باز باشد و مطالب را در همان لحظه کار کنند.

  2. #2
    کاربرسایت PARS آواتار ها
    تاریخ عضویت
    ۸۷-۰۲-۲۵
    نوشته ها
    666
    سپاس ها
    0
    سپاس شده 0 در 0 پست

    Re: معرفی بخشهای vb

    هنگامی که VB اجرا می شود، توسط پنجره ای (شکل1)، نوع پروژه ای که می خواهيد طراحی کنيد از شما خواسته می شود.
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    همانطور که ملاحظه می فرماييد، انواع مختلفی از پروژه ها در اين پنجره وجوددارد که در ادامه به برخی از آنها خواهيم پرداخت، ولی فعلاً نوع استانداردپروژه های VB يعنی نوع Standard EXE را انتخاب و آن را باز(Open) می کنيم.اين نوع پروژه (که غالب پروژه ها را در بر می گيرد) برای تهيه برنامه هایکاربردی(Applications) مورد استفاده قرار می گيرد.
    پس از باز کردن پروژهStandard Exe ، پنجره اصلیVB (شکل 2 ) برای اين نوع پروژه باز می شود:

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    اينپنجره، علاوه بر آنچه عموماً در پنجره های ويندوز می بينيم (مانند TitleBar وMenu Bar)، شامل چند بخش بسيار مهم می باشد:
    1- يک فرم(Form)خالی با عنوان (Caption)برابر Form1 وجود دارد. اين همان فرمی است کهبلافاصله پس از اجرا (Run) شدن برنامه، روی صفحه نمايش، قرار می گيرد (اينپيش فرض قابل تغيير است).
    2- نوار ابزار Standard Buttons که دکمه هايی با کاربرد معمولاً بيشتر راشامل می شود. تعدادی از اين دکمه ها را در ويندوز می شناسيد (مانند Copy,Paste, Undo, Redo, Open وSave) و برخی ديگر را در ادامه خواهيم ديد.
    3- پنجره ای سمت چپ تصوير ديده می شود. اين پنجره شامل برخی از کاربرديترين کنترلهای قابل ديدن (VCL) می باشد. در ادامه با VCLها آشنا خواهيم شدو از آنها بسيار بهره خواهيم برد. به اين پنجره Tool Bar (جعبه ابزار)گفته می شود.
    4- در سمت راست تصوير سه پنجره ديگر ديده می شود. در بالا، پنجره پروژه(Project)، سپس پنجره مشخصات(Properties) و در پايين، پنجرهForm Layoutقرار دارد. پنجرهProject شامل نام تمام اجزای پروژه مانند فرمها،ماژولها(Moduls)،Activex ها و ... می باشد. مثلاً اگر در پروژه ای چند فرموجود داشته باشد و بخواهيم به فرم ديگری برويم، کافی است نام آن را در اينپنجره دابل کليک نماييم. پنجره Properties، برخی از مشخصه(Property) هایمربوط به VCL ای که انتخاب شده (Select) باشد را نمايش می دهد که می توانآنها را در هنگام طراحی(Design Time) تغيير داد (ساير مشخصه ها بايد درهنگام اجرا(Run Time) تنظيم شوند.) در پنجرهForm Layout نيز می توان مکانقرار گيری Form هنگام اجرای برنامه(Run Time) بر روی صفحه نمايش را تعيينکرد (همچنين اين کار را توسط کدنويسي نيز می توان انجام داد و عموماً همينروش هم توصيه می شود و لذا عموماً حتی می توان اين پنجره را به کل بست).
    در اين بخش با شمای کلیVB آشنا شديم، در ادامه درباره VCL ها و نحوه کدنويسي برای آنها مطالب مفيدی خواهيم آموخت.

  3. #3
    کاربرسایت PARS آواتار ها
    تاریخ عضویت
    ۸۷-۰۲-۲۵
    نوشته ها
    666
    سپاس ها
    0
    سپاس شده 0 در 0 پست

    Re: معرفی بخشهای vb

    اولين پروژه و آشنايی با برنامه نويسی بوسيله VB
    بهعنوان اولين پروژه، قصد داريم فرمی داشته باشيم با دو دکمه Message و Exitکه اگر در دکمه Message کليک شد، پيغامی نمايش داده شود و اگر دکمه Exitکليک شد از برنامه خارج شود(شکل3):
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    ابتدا فرمی که بر روی صفحه نمايش باز است (فعلاً به نام 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 می گذاريم و اين نام گذاری به زيبايی پروژه ما لطمه ای وارد نمی کند.
    برای ادامه، دو دکمه (Command Button) بر روی فرم قرار می دهيم (که برای اين منظور از پنجره Controlها که در سمت چپ تصوير است، کنترل Command Button به شکلرا دابل کليک می کنيم و يا با يک Click و انتخاب آن، بر روی فرم، به اندازه دلخواه Drag & Drop می کنيم) و جای آنها را به مکان دلخواه مورد نظر (به وسيله Drag & Drop آنها) تغيير می دهيم. آنگاه برای يکی از آنها:
    1- مشخصه Name را به cmdMessage تغيير می دهيم.
    2- مشخصه Caption را به Message تغيير می دهيم.
    و برای ديگری تغيير می دهيم:
    1- مشخصه Name را به cmdExit.
    2- مشخصه Caption را به Exit.
    که پس از اين، شمای ظاهری (Interface) برنامه کامل شده است و بايد به کدنويسي آن پرداخت.
    اگر بر روی دکمه Exit دابل کليک کنيد (البته هنوز در Design Time هستيم و نه Run Time Event Procedure مربوط به رويداد Click (Event) از آن را به صورت زير باز می کند:
    Private Sub cmdExit_Click ()
    End Sub
    که هر دستوری که در اين Procedure (يعنی بين خط Private و خط End Sub) نوشته شود، در زمان اجرا، وقتی کاربر روی دکمه Exit کليک می کند، اين دستورات اجرا خواهند شد.
    دستوری که بايد در cmdExit_Click نوشته شود بسيار ساده است:
    Private Sub cmdExit_Click ()
    End
    End Sub
    دستور End هر جايی از برنامه که اجرا شود فوراً اجرای برنامه را متوقف و از آن خارج می شود.
    حال اگر به ترتيبی که در بالا ذکر شد، Event Procedure مربوط به رويداد click از دکمه Message را نيز باز می کنيم و آن را به صورت زير تغيير می دهيم:
    Private Sub cmd, Message - Click
    MsgBox “The first project was done successful” و و “Thanks”
    End Sub
    پروژه مورد نظر آماده شده شده است. دستور MsgBox (مخفف Message Box )باعث می شود تا يک کادر پيغام بر روی صفحه نمايش ظاهر شود و تا زمانی که دکمه OK از آن را فشار دهيم، پيغامی را نمايش دهد. در اين دستور پارامتر اول، پيغام مورد نظر را به صورت string (يک داده متنی) دريافت مي کند (در VB هر عبارتی که بين دو علامت " " قرار گيرد، string فرض می شود) و پارامتر سوم نيز به عنوان Message Box (که در Title Barآن آورده خواهد شد) را به صورت متنی دريافت می کند. توجه داريم که بين هردو پارامتر از علامت کاما (,) استفاده می کنيم و بنابراين در دستور MsgBox برنامه مان برای اينکه پس از پارامتر اول، پارامتر سوم را وارد کنيم بين آن دو پارامتر، دو بار کاما گذاشته ايم.
    حال برنامه تان را اجرا کنيد و نتيجه کار را ببينيد (اجرای برنامه در VB توسط کليد F5 صورت می گيرد.
    ذکر چند نکته:
    1- اگر بخواهيد فشردن ALT+X همان عمل دکمه Exit را انجام دهد(ايجاد(Hot key) ، کافی است در Caption اين دکمه چنين بنويسيد: E&xit که در اين صورت در زمان اجرا، زير حرف x يک underline (زير خط) می کشد که در ويندوز اين حالت نشانگرHot key داشتن آن حرف است ، همين کار را هم در مورد دکمه Message انجام دهيد.
    2- در هنگام کدنويسي اگر چند حرف اول يک کلمه شناخته شده VB (مانند نام کنترلها و يا Property ها، Method ها و ...) را بنويسيم و CTRL+Spaceرا فشار دهيم، اگر تنها يک کلمه با حرف اول برابر آنچه شما نوشته ايد پيداکند، بقيه حروف را خود، کامل می کند و اگر تعدادی کلمه با اين مشخصات پيداکند، ليست آنها را نمايش می دهد که می توانيد يا يکی از آنها را انتخابکنيد (بر روی کلمه از ليست برويد و کليد space را بزنيد) و يا تعدادی از حروف آن را بنويسيد تا محدوده کلمات مشابه کوتاهتر شود. اين کار را حتماً امتحان کنيد!
    3- زمانی که يک فرم باز می شود، به ترتيب چهار Event بر روی آن رخ می دهد:
    Initialize
    Load
    Activate
    Got focus
    که زمانی که رويداد اول رخ می دهد، هنوز object های روی فرم ايجاد نشده اند و قابل دسترسی نيستند. اين object ها در load ساخته می شوند، اما هنوز فرم نمايش داده نشده است. وقتی فرم نمايش داده می شود، رويداد Activate و وقتیfocus به آن داده می شود، رويداد Got focus روی مي دهد. (منظور از گرفتن focus اينست که آن کنترل خاص که در اينجا فرم است، کانون تمام پيامها شود، مثلاً اگر کليدی زده شد به آن فرستاده شود و ...).
    4- برای ذخيره کردن پروژه از منوی فايل و گزينه Save استفاده می شود که بايد تمام فرمها، ماژولها، ... و اصل پروژه را جداگانه ذخيره کرد. لذا اگر شما برنامه First Project راsave کنيد، يکبار نام فرم را save می کند (با پسوند.frm) و يکبار فايل پروژه را (با پسوند.VBP).

  4. #4
    کاربرسایت PARS آواتار ها
    تاریخ عضویت
    ۸۷-۰۲-۲۵
    نوشته ها
    666
    سپاس ها
    0
    سپاس شده 0 در 0 پست

    Re: معرفی بخشهای vb

    تغييری در وضعيت مثال قبل و استفاده از رويداد KeyUp
    فرض کنيد بخواهيم مثال قبل را طوری تغيير دهيم که با نوشتن هر رقمی در txtCelsius ، بدون نياز به فشردن کليد، نتيجه به طور خودکار در txtFahrenheit نوشته شود.مثلاً به محض اينکه عدد8 رازديم، تبديل شده 8 را به فارنهايت بنويسيد و به محض فشردن کليد 0 (روی هم شده است80) تبديل شده 80 را به فارنهايت بنويسد و ...
    ابتدا کدهای نوشته شده برای cmdconvert را پاک کنيد و سپس خود کليد را نيز از روی فرم حذف کنيد تا به سراغ کدنويسی برای خودText Box ها برويم.
    Text Box ها دارای جهار رويداد (Event) مهم می باشند:
    KeyDown – KeyUp – KeyPress – Change
    زمانی که فوکوس(تمرکز) به يک Text Box داده شود، اگر کليدی از صفحه کليد زده شود، ابتدا رويدادKeyPress رخ می دهد ( و اين به سيستم می فهماند که يک کليدی فشرده شد) ، سپس رويداد KeyDownرخ می دهد ( و اين به سيستم می فهماند که کليد زده شده، تازه زده شده استو هنوز فشرده است) و وقتی دستمان را از روی کليد برداريم، رويداد KeyUp رخ می دهد.
    رويداد Change نيز زمانی که هر تغييری در مقدار داخل Text box انجام شود، روی می دهد (و لذا مثلاً اگر کليدی مثل Arrow Keys (کليدهای حرکتی) که تغييری در مقدار داخل Text Box انجام نمی دهد زده شود، رويداد Change رخ نمی دهد.)
    توجه داشته باشيم که KeyDownKeyUp) برای همه کليدهای صفحه کليد رخ می دهد اما رويداد KeyPress برای برخی مثل Arrow Keys رخ نمی دهد.
    Event Procedure مربوط به KeyDown و KeyUp دارای دو آرگومان (پارامتر) هستند:
    1- پارامتر keycode که کد اسکی کليد فشرده شده را بر می گرداند.
    2- پارامتر Shift که يکی از چهار مقدار 0 و 1 و 2 و 3 را بر می گرداند. اگر مقدار برگشتی آن يک باشد، يعنی در حال فشردن کليد زده شده، کليد Shift پايين بوده، مقدار برگشتی دو نشانگر پايين بودن کليدAltو مقدار برگشتی برابر سه، نشانگر پايين بودن کليد Control می باشد و صفر بودن آن، فشردن کليد بدون پايين بودن هيچ يک از اين سه کليد می باشد. و Event Procedure مربوط به KeyPress تنها يک آرگومان KeyAscki دارد که کد اسکی کليد فشرده شده را برمی گرداند.
    با توجه به مطالب گفته شده، کافی است برای رويدادِ (Event) KeyUp از txtCelsius چنين بنويسيم:
    Private Sub txtCelsius_KeyUp (KeyCode As Integer, shift As Integer)
    txtFahrenheit = (Val (txtCelsius)*9/5) + 32
    End Sub
    ذکر چند نکته:
    1- اگر بر روی يک Text Box در Design Time دابل کليک کنيد، به طور پيش فرض، رويداد Change از آن را برای کدنويسی باز می کند. اگر می خواهيم Event Procedure رويدادهای ديگر را بياوريم، کافی است از Combo Boxمنوی باز شونده عمودی کرکره ای که يک فلش رو به پايين سمت راست خود برایباز شدن منو دارد) سمت راست بالای صفحه کدنويسی، يکی از Event Procedure ها را به دلخواه انتخاب کنيم. Combo Box سمت چپ آن هم نام تمام Object های استفاده شده در آن فرم خاص را دارد که هر کدام انتخاب باشد، در Combo Box سمت راست، Procedure های آن Object خاص را ليست خواهد کرد. در شکل 5 برخی از رويدادهای مربوط به txtCelsius را می بينيد.
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    2- همانطور که می بينيم در Procedureفوق برای Text Box ها، نام هيچ مشخصه ای را نياورديم که همانطور که قبلاً توضيح داده شد، در اينصورت به طور پيش فرض، مشخصه Text برای آنها در نظر گرفته می شود.
    3- تابع Val (مخفف Value) مقدار عددی يک string را برمی گرداند. از آنجا که مقدار داخل txtCelsiusاز نوع string 0متنی) است ولی بايد بر روی آن عمل ضرب و تقسيم و جمع را انجام دهيم. ابتدا آن را توسط تابع Val، عددی نموديم. (هر چند VBتا جای ممکن سعی می کند خودش اين تبديلات را اگر ما هم نگذاريم، انجام دهدولی بهتر است عادت شود، برای جلوگيری از خطاهای احتمالی، شرايط هر موقعيترا فراهم آوريم.)
    ادامه:
    آخرين کاری که بايد برای پروژه Second Example انجام دهيم، جلوگيری از خطای Type Miss Mach است. اين خطا زمانی روی می دهد که در يک عمليات، مقادير مناسب نباشند. مثلاً اگر بخواهيم مقدار متنی “Ali” را در مثلاً 5 ضرب کنيم، اين خطا (که در VB، خطای شماره 13 است) رخ می دهد.
    در برنامه ما هم، اگر کاربر، در txtCelsius بجای يک عدد، حرفی را بنويسد، هنگام ضرب شدن در 9/5، همين خطا رخ خواهد داد.
    برای جلوگيری از بروز خطا و گرفتن کنترل خطا بدست برنامه، از تابع On Error استفاده می کنيم. اگر Procedure مربوط به رويداد Key Up از txtCelsius را به صورت زير تغيير دهيم:
    Private Sub txtCelsius–KeyUp (KeyCode As Integer, shift as Integer)
    On Error Goto xx
    txtFahrenheit = (txtCelsius * 9/5) + 32
    Exit Sub
    xx:
    IF Err. number = 13 then
    txtFahrenheit = “can’t convert “
    End IF
    End Sub
    در اينصورت تابع On Error می گويد که وقتی به خطايی در ادامه برخوردی به خطی از Procedure که دارای برچسب xx (يک برچسب اختياری) است برو (Goto xx) . اگر برنامه به اين خط برود (يعنی وقتی خطايی رخ داد) ، بررسی می کند اگر شماره خطای رخ داده شده (Err يک Object هميشگی در VB است که مشخصه number از آن، شماره شماره خطای رخ داده را در خود نگهداری می کند) برابر B بود، بجای convert کردن، در txtFahrenheitبنويسيدcan’t convert (اميدوارم نحوه بکارگيری دستورات شرطی (IF sentences) را بدانيد). تنها نکته ای که هست اينکه اگر خطا رخ نداد و convert انجام شد، ديگر نبايد به خط xx وارد شود و لذا از دستور Exit sub استفاده کردع ايم. اين دستور در هر جايی از يک sub اجرا شود، بلافاصله از آن خارج می شود و دستورات ديگر را اجرا نمی کند.

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

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