ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

شروع برنامه نویسی با vb و چند مثال ساده

 
Post new topic   Reply to topic    ParsX.com Forum Index -> ويژوال بيسيك .NET
View previous topic :: View next topic  
Author Message
unknown
مدير بخش ويژوال بيسيك
مدير بخش ويژوال بيسيك


Joined: 05 Dec 2004
Posts: 439
Location: Tehran

PostPosted: Sat Mar 05, 2005 6:42 pm    Post subject: شروع برنامه نویسی با vb و چند مثال ساده Reply with quote

شروع برنامه نویسی با vb :
حالا که تا حدی با دستورات و محیط vb آشنا شده اید برنامه نویسی با vb را با مثال ساده Hello world! شروع می کنیم.
vb را از منوی استارت اجرا کنید و در پنجره New Project همان گزینه Standard EXE را open کنید.
حالا در روی فرم خود یک کنترل Label و دو Command Button را در جای مناسبی که خود دوست دارید قرار دهید. نام دکمه ها را به CmdOk و CmdCancel تغییر دهید(این کار را در پنجره Properties سمت راست صفحه انجام می دهید). همچنین خاصیت Caption دکمه ها را به ترتیب به &Ok و &Cancel تغییر دهید. & یک خط کوچک زیر حرف بعد از خود می کشد و این به این معنی است که اگر در زمان اجرا کلید Alt را پائین نگه دارید و آن حرفی را که زیر آن خط کشیده شده است در روی کیبورد بزنید باز هم دستورات درون آن کنترل اجرا می شوند. برای نوشتن کد برای هر کنترل به سادگی می توانید روی آن کنترل دوبار کلیک نمائید. بنابراین برای نوشتن کد مربوط به Command Button روی آن دوبار کلیک کنید. حالا پنجره کد برنامه شما باز شده و یک رویه برای خاصیت کلیک Command Button به صورت خود کار نوشته شده است. باید به این نکته توجه کنید که تمام خصوصیات کنترل ها در رویه ها نوشته می شوند.

Private Sub CmdOk_Click()

End Sub

نام تمام رویه های کنترل ها به این صورت نوشته می شود که اول بعد از کلمه Sub اسم کنترل آورده می شود و سپس یک زیر خط یا Underline و بعد از آن واقعه ای که قرار است با آن دستورات داخل رویه اجرا شوند آورده می شود. ممکن است این وقایع در کنترل های مختلف متفاوت باشد. vb با قرار دادن این وقایع کار برنامه نویسان را تا حد زیادی آسان کرده است. برای دسترسی به این رویه ها در قسمت بالای کد برنامه دو Combo Box وجود دارد (امیدوارم الان دیگه بدونید Combo Box چیه؟!). Comboی سمت چپ Object یا شیئی را که می خواهیم برای آن کد بنویسیم مشخص می کند و Combo ی سمت راست تمام رویه های موجود برای آن شیء را نشان می دهد که با کلیک بر روی هر کدام می توان به آن دسترسی پیدا کرد. ما در این مثال فقط با رویه ی کلیک دکمه کار می کنیم. یعنی هرگاه دکمه فشرده شود دستورات داخل آن بلاک اجرا می شوند. خوب حالا برای دکمه Ok و Cancel این کدها را بنویسید.

Private Sub CmdOk_Click()
Label1.Caption = "Hello World!"
End Sub

Private Sub CmdCancel_Click()
End
End Sub


در vb هنگام کد نویسی برای دسترسی به خصوصیات هر شئ کافی است نام آن را بنویسید (مواظب باشید منظورم از نام ، خاصیت Name هر شئ است نه خاصیت Caption) و بلافاصله بعد از آن یک دات (نقطه) بگزارید. در این هنگام اگر چنین کنترلی با این نام در روی فرم باشد تمام خصوصیات آن شئ به صورت لیستی در کنار مکان نما به شما داده می شود. بنابراین مجبور نیستید تمام کلمه ها را به صورت کامل بنویسید. فقط کافی است چند حرف اول آن را تایپ کنید و اگر به خاصیت مورد نظر رسیدید کلید Space را بزنید.vb به طور خود کار بقیه ی کلمه را برای شما می نویسد.
در مثال بالا ما می خواهیم وقتی دکمه Ok فشرده شد در برچسب ما جمله “Hello World!” نوشته شود.
کلمه کلیدی End در دکمه ی دوم باعث پایان برنامه می شود.(برای خروج از برنامه هایتان از این کلمه استفاده کنید.) خوب حالا به سادگی برنامه ای (هر چند ساده) به زبان vb نوشته اید.
برای اجرای برنامه روی دکمه Start که در بالای برنامه تان وجود دارد کلیک کنید و اجرای برنامه تان را ببینید. برای این کار از کلید میانبر F5 نیز می توانید استفاده کنید.

برای تبدیل برنامه به فایل اجرائی (EXE) منوی فایل را باز کنید و روی گزینه Make Project1.exe کلیک کنید. در پنجره باز شده آدرس محل ذخیره سازی و نام فایل اجرائی را انتخاب کنید و Ok کنید.

تابع MsgBox :
آیا تا کنون با هیچ پیغام خطائی در ویندوز روبرو نشده اید؟!
در vb به سادگی با تابع MsgBox می توانید پیغامی را به کاربر نشان دهید.

Function MsgBox(Prompt, [Buttons As VbMsgBoxStyle = vbOKOnly], [Title], [HelpFile], [Context]) As VbMsgBoxResult

این تابع یک پیغام را نشان می دهد و مقدار بازگشتی آن ارزش انتخابی کاربر می باشد.
Prompt: متن اصلی پیغام می باشد که می خواهید به کاربر نشان دهید.
Buttons: نوع کلید های جعبه پیغام را نشان می دهد که مقدار پیش فرض آن فقط دکمه Ok می باشد.
انواع VbMsgBoxStyle :

Const vbAbortRetryIgnore = 2
Const vbApplicationModal = 0
Const vbCritical = 16 (&H10)
Const vbDefaultButton1 = 0
Const vbDefaultButton2 = 256 (&H100)
Const vbDefaultButton3 = 512 (&H200)
Const vbDefaultButton4 = 768 (&H300)
Const vbExclamation = 48 (&H30)
Const vbInformation = 64 (&H40)
Const vbMsgBoxHelpButton = 16384 (&H4000)
Const vbMsgBoxRight = 524288 (&H80000)
Const vbMsgBoxRtlReading = 1048576 (&H100000)
Const vbMsgBoxSetForeground = 65536 (&H10000)
Const vbOKCancel = 1
Const vbOKOnly = 0
Const vbQuestion = 32 (&H20)
Const vbRetryCancel = 5
Const vbSystemModal = 4096 (&H1000)
Const vbYesNo = 4
Const vbYesNoCancel = 3

Title: عنوان پیغام می باشد که در بالای آن قرار می گیرد.
HelpFile: آدرس فایل کمکی پیغام در صورت وجود است.
Context: نحوه باز شدن فایل کمکی می باشد.

مثال:

Private Sub Form_Load()
MsgBox "Welcome to vb world!", vbInformation, "First visit"
End Sub


تابع MsgBox یک خروجی دارد که نشان می دهد کاربر چه دکمه ای را فشرده است.
یک مثال جالب:

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
Dim Ret As VbMsgBoxResult
Ret = MsgBox("Are you sure you want to exit this program?", vbCritical + vbYesNo, "Exit")
If Ret = vbYes Then
    End
End If
End Sub

حتما این کد را در vb اجرا کنید. هر گاه کاربر دکمه Close فرم را بزند از او برای اطمینان از این کار سوال می شود و در صورتی که کاربر موافق باشد از برنامه خارج می شود.
اگر فقط کد زیر را می نوشتیم کاربر مجاز به خروج از فرم نمی باشد:

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
End Sub

VbMsgBoxResult نوع خروجی تابع MsgBox می باشد که انواع زیر را دارد:

Const vbOK = 1
Const vbCancel = 2
Const vbAbort = 3
Const vbRetry = 4
Const vbIgnore = 5
Const vbYes = 6
Const vbNo = 7

Form_Unload رویه ای است که وقتی فرمی که قبلا بارگزاری شده Unload می شود اجرا می شود.


تابع InputBox :
نوعی دستور ورودی می باشد که پیغامی را به کاربر نشان می دهد و متن ورودی کاربر را بر می گرداند.

Function InputBox(Prompt, [Title], [Default], [XPos], [YPos], [HelpFile], [Context]) As String


Prompt : متنی است که به کاربر نمایش می دهید.
Title: عنوان جعبه ورودی می باشد.
Default: مقدار پیش فرض تابع می باشد که می توانید آن را تعیین کنید.
XPos: مختصات X جعبه ی متن.
YPos: مختصات Y جعبه ی متن.
HelpFile: آدرس فایل کمکی پیغام در صورت وجود است.
Context: نحوه باز شدن فایل کمکی می باشد.

خروجی تابع فوق از نوع String می باشد.

مثال:

Private Sub Form_Load()
Dim Ret As String
Ret = InputBox("What's your name?", "Please confirm your name", "Amir", 0, 0)
If Ret <> "" Then
    Me.Caption = "Welcome" & " " & Ret
Else
    Me.Caption = "Unknown user"
End If
End Sub

قبل از نمایش فرم پیغام ورودی نمایش می یابد. اگر کاربر اسم خود را وارد کرد در قسمت بالای فرم به او خوش آمد گفته می شود ولی اگر کاربر اسم خود را وارد نکرد یا دکمه Cancel را فشرد جمله Unknown user نوشته می شود.
توجه داشته باشید کلمه Me در vb نماینده ی اسم فرمی می باشد که در حال حاضر در آن قرار داریم. به جای Me در مثال بالا می توانستیم نام فرم مثلا Form1 را بنویسیم.

مثال برنامه نویسی:
درست کردن یک ساعت دیجیتالی در vb :
برای زمان در vb توابع مختلفی وجود دارد. که هرگاه فراخوانی شوند زمان آن موقع را بر می گردانند. ولی مشکل این است که فقط زمان را برمی گردانند و ثابت می مانند. برای درست کردن ساعت به یک کنترل Timer احتیاج داریم که هر یک ثانیه یک بار تابع زمان را فراخوانی کند.
برای درست کردن ساعت یک کنترل Label را روی فرم قرار دهید و خاصیت AutoSize آن را True کنید سپس یک کنترل Timer را در فرم قرار دهید و خاصیت Interval آن را برابر 1000 قرار دهید سپس کد زیر را در فرم بنویسید.

Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub

اگر دوست دارید تاریخ جاری را به همراه زمان ببینید از تابع Now به جای Time استفاده کنید.

Private Sub Timer1_Timer()
Label1.Caption = Now
End Sub

مثال برنامه نویسی:
نمایش کدهای اسکی در یک لیست:

Private Sub Form_Load()
Dim i As Integer
For i = 0 To 255
    List1.AddItem i & " : " & Chr$(i)
Next i
End Sub

قبل از نوشتن این کد یک ListBox را در فرم قرار دهید.
تابع Chr

Function Chr$(CharCode As Long) As String


این تابع کاراکتری را که مربوط به شماره CharCode می باشد را برمی گرداند.

تابع Asc

Function Asc(String As String) As Integer

این تابع کد ANSI مربوط به هر کاراکتر را برمی گرداند.

Private Sub Form_Load()
MsgBox Asc("A")
End Sub


تابع LCase و UCase

Function LCase$(String As String) As String
Function UCase$(String As String) As String

تابع LCase حروف را به حروف کوچک و تابع UCase حروف را به حروف بزرگ تبدیل می کند.
مثال:
قبل از هر چیز یک TextBox و دو CommandButton روی فرم قرار دهید.

Private Sub Command1_Click()
Text1.Text = LCase$(Text1.Text)
End Sub

Private Sub Command2_Click()
Text1.Text = UCase$(Text1.Text)
End Sub

مثال برنامه نویسی:
برنامه ای که هنگام اجرا از کاربر رمز ورود می خواهد.
vb را همانند همیشه اجرا کنید (به طور خود کار Form1 ساخته می شود). ما در این برنامه به دو فرم احتیاج داریم. بنابراین برای اضافه کردن فرم دیگری روی Project Explorer راست کلیک کنید.(Project Explorer در سمت راست بالای صفحه قرار دارد) از منوی باز شده گزینه Add را انتخاب کنید و دوباره از گزینه های ارائه شده گزینه Form را کلیک کنید. در پنجره ی باز شده روی Form کلیک کنید و آن را Open کنید.حالا فرمی به نام Form2 به پروژه ی شما اضافه شده.
در Project Explorer روی Form1 دو بار کلیک کنید تا به محیط طراحی فرم اولممان باز گردیم. در روی فرم یک کنترل TextBox و دو کنترل CommandButton قرار دهید.برای راحتی کار نام اشیاء را تغییر ندهید فقط خاصیت Caption دکمه ها را به Ok و Cancel تغییر دهید و کد زیر را در قسمت کد فرم 1 بنویسید.


Private Sub Command1_Click()
'For Ok button
If LCase(Text1.Text) = "password" Then
    Unload Me
    Form2.Show
Else
    MsgBox "Invalid Password!", vbCritical
    Text1.SetFocus
    SendKeys "{Home}+{End}"
End If
End Sub

Private Sub Command2_Click()
End   'For cancel button
End Sub

در این مثال مقدار جعبه متن با رمز ما چک می شود و اگر برابر بود:
Unload Me باعث می شود فرم 1 از حافظه خالی شود (یعنی آن فرمی که قبلا باگزاری شده الان پاک می شود.)
Form2.Show : خاصیت Show از شئ فرم باعث می شود Form2 در حافظه بار شود و به نمایش در آید.
ولی اگر رمز ورودی کاربر غلط بود:
پیغام خطائی مبنی بر غلط بودن رمز به کاربر داده می شود
Text1.SetFocus : خاصیت SetFocus اشیاء باعث می شود مکان نما به آن شئ منتقل شود.

SendKeys "{Home}+{End}" :

تابع SendKeys یکی از جالب ترین توابع vb می باشد که می توان با آن هر کلیدی را به کنترل فعال فرستاد.
دستور بالا باعث می شود تمام محتویات جعبه متن انتخاب شوند.
لیستی از دستوراتی که می توانید در تابع SendKeys استفاده کنید:

^ = Control
{enter} = Enter
% = Alt
{Del} = Delete
{ESCAPE} = Escape
{TAB} = Tab
+ = Shift
{BACKSPACE} = Backspace
{BREAK} = Break
{CAPSLOCK} = Caps Lock
{CLEAR} = Clear
{DELETE} = Delete
{DOWN} = Down Arrow
{LEFT} = Left Arrow
{RIGHT} = Right Arrow
{UP} = Up Arrow
{NUMLOCK} = Num Lock
{PGDN} = Page Down
{PGUP} = Page Up
{SCROLLLOCK} = Scroll Lock
{F1} = F1 .......Use {F2} {F3} and so On For others...
{HOME} = home
{INSERT} = Insert Upload

مثال:

Private Sub Command1_Click()
SendKeys "%{F4}"
End Sub


باعث بسته شدن فرم می شود.(با زدن کلید های Alt+F4)

Private Sub Command1_Click()
    Dim i As Integer 'declare the variable
    For i = 1 To 150 'how many times (you can change the 150 to whatever you want)
        SendKeys "{CAPSLOCK}", True 'turn on the capslocks light, Then turn it off
        SendKeys "{DOWN}", True 'just To give more time
        SendKeys "{DOWN}", True 'just To give more time
        SendKeys "{SCROLLLOCK}", True 'turn on the scroll lock light, turn it off
        SendKeys "{DOWN}", True 'give more time
        SendKeys "{DOWN}", True 'give more time
    Next i
End Sub

این مثال باعث روشن و خاموش شدن چراغ کیبورد می شود.


مولف:
امیر مرادآبادی (amirmoradabadi@yahoo.com)
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> ويژوال بيسيك .NET All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum