برنامه سازی ویژوال بیسیک 6 ( قسمت سوم )

آشنایی با حلقه های تکرار

فرض کنید می خواهیم در ویژوال بیسیک برنامه ای بنویسیم که اعداد 1 تا 5 را روی فرم چاپ کند , شاید فکر کنید که به سادگی و با استفاده از دستور Print می توان این کار را انجام داد و فقط باید بنویسیم :
جهت چاپ اعداد روم فرم باید آن را در روال Form_Activate بنویسیم :
Print 1
Print 2
Print 3
Print 4
Print 5
برنامه بالا درست است که اعداد 1 تا 5 را زیر هم روی فرم چاپ می کند اما واقعاً این دستور منطقی است؟ اگر می خواستید برنامه ای بنویسید که اعداد 1 تا 100 را روی فرم چاپ کند آیا باز هم حوصله می کردید و صد تا دستور Print می نوشتید؟ کاملاً مشخص است که راه حل فوق برای حل این مسئله منطقی نیست. ویژوال بیسیک برای حل این مشکل از حلقه های تکرار استفاده می کند. با استفاده از حلقه های تکرار به راحتی می توانیم اعداد ا تا 5 را تنها با چند خط کد نویسی چاپ کنیم.
حلقه تکرار For … Next :
روش استفاده را با یک مثال شرح می دهم :
For a = 1 To 5
Print a
Next a
بعد از For ما نامی را برای شمارنده در نظر می گیریم . سپس علامت مساوی را قرار می دهیم و تعداد دفعات تکرار را تعریف می کنیم. در خط دوم شمارنده را پرینت میکنیم و خط سوم بدین مفهوم است که حلقه شمارنده مجدداً با مقدار جدید به اول باز می گردد و عملیات مربوطه را تکرار می کند. این حلقه 5 بار تکرار می شود و در پایان اعداد 1 تا 5 را پشت سر هم و روی فرم چاپ می کند.
نکات قابل توجه :
· حلقه های تکرار می تواند گام کاهشی و افزایشی هم داشته باشد که با Step آن را مشخص می کنیم.
· جهت چاپ اعداد روم فرم باید آن را در روال Form_Activate بنویسیم یا خاصیت AutoRedraw در پنجره خصوصیات Form_Load برابر Ture قرار دهیم.
· حلقه تکرار می تواند از هر عددی شروع شود و به هر عددی ختم شود.
· بهتر است شمارنده را همیشه با یک حرف انگلیسی نام گذاری کنیم تا دچار سردرگمی نشویم.
قطعه برنامه زیر اعداد 1 تا 5 را روی فرم و زیر هم چاپ می کند :
For i = 5 To 1 Step – 1
Print i
Next i
سوالات خود را در قسمت نظرات مطرح نمائید. مطمئن باشید بی پاسخ نمی ماند

برنامه نویسی ویژوال بیسیک 6 ( قسمت سوم)

با سلام . امیدوارم بازدید کنندگان وبلاگ  psscode یک کمی از تنبلی دست بردارن و دنبال برنامه نویسی برن تا من هم امید وار بشوم و برای این بخش بیشتر کار کنم. از آن جایی که معلوم است ظاهراً این بخش طرف دار کمی دارد. من به شما پیشنهاد می کنم که واقعاً اگر همت کنید می توانید ویژوال بیسیک را بیاموزید.

اما بگذریم. در قسمت سوم آموزش برنامه نویسی ویژوال بیسیک 6 – با توجه به مقالات قبلی و آموزش های داده شده – چند برنامه می نویسیم که با توضیح کامل برای شما گذاشته ام.شاهوار دات نت

برنامه 1) چطور میشه در یک فرم یک منو درست کرد که بتوان با فشردن کلید آن را باز نمود؟
چون منو را بدون استفاده از کلیک انجام میدهیم حتما باید به صورت تقلبی انجام داد
ببینید شما منویی به فرمتان اضافه کنید و سپس کلیدی هم اضافه کنید حالا از فرمان popupmenu در ناحیه کدنویسی مربوط به کلید استفاده میکنیم دقیقا به صورت زیر درمیاد:
()Private Sub Command1_Click
PopupMenu mnufile, , 0, 0
End Sub
مختصات 0 و 0 منو را زیر منو اول خواهد برد و شما برای منوهای بعدی باید مختصات را تغیر دهید
یعنی مختصات دقیق x,y زیر منوی مورد نظر را بده خیلی کار سختی نیست چون y همیشه 0 است

البته نام منوی خودتان را به جای mnufile عوض کنید.

برنامه 2) چطوری میشود که کاربر با ورود کردن نام کشور در تکست باکس و فشار دادن کلید،پایتخت اون کشور در تکست باکس دوم  مشخص بشه؟
اول درون فرمت دو تا تکست باکس و یک کامند درست کن

خوب

در ناحیه کد نویسی مربوط به کامند این رو تایپ کن
If Text1.Text = “iran” Then Text2.Text = “TEHRAN”
“If Text1.Text = “germany” Then Text2.Text = “LONDON
حالا  اینجوری میتونی پشت سر هم کشور و پایتخت شون رو برای برنامه درست کنی
تا دلت میخواد کشور و پایتخت بده
البته میتونی فارسی هم بنویسی

البته با این روش میتونی یک  دیکشنری خوب هم درست کنی!

برنامه 3) چطور میشه عکسی از سمتی به سمت دیگر به توسط کلیدی انجام شود؟
در برنامه زیر عکس مورد نظر از سمت چپ به راست حرکت میکند
راهنمایی: با استفاده از تایمر میتونی برنامه خودت رو درست کنی
اول یک متغیر سراسری به نام a درست کن
یک تایمر به فرمت اضافه کن و بعدش خاصیت Enabled اون رو به false تبدیل کن و خاصیت interval تایمرت هم به 1 تبدیل کن چون در حالت پیش فرض این خاصیت مقدارش  0 است. بعدش کدهای زیر رو در تایمرت قرار بده:
a = 1
For a = 1 To 5
Picture1.Left = Picture1.Left + a
Next
بعد یک کنترل picture به فرمت اضافه کن و در سمت چپ فرمت قرارش بده
حالا یک کامند درست کن و کد زیر رو در آن تایپ کن:
Timer1.Enabled = Timer
کد بالا در حقیقت کارش اینه که وقتی کلید کامند زده شد تایمر رو به کار می اندازه
حالا caption کامندت رو به RUN تبدیل کن

به همین سادگی!

البته در مورد کنترل تایمر هنوز مقاله ای منتشر نکرده ام و برنامه بالا برای کاربرانی است که با کنترل تایمر آشنایی کافی را داشته باشند.

موفق باشید.

کتاب آموزش ویژوال بیسیک۶ و کریستال ریپورت

psscode

در این کتاب به آموزش  موارد زیر می پردازیم:

 چگونه در کریستال ریپورت ۱۰ به پایگاه داده اکسس access متصل شویم, چگونه گزارشات ایجاد شده با کریستال ریپورت ۱۰ را در ویژوال بیسیک اجرا کنیم, ارتباط و دستکاری کریستال ریپورت در ویژوال بیسیک, چگونه پایگاه داده رمزگذازی شده را ار طریق ویژوال بیسک به گزارش متصل کنیم و …..

کتاب به زبان فارسی می باشد ودر ۲۱ صفحه با فرمت pdf

دانلود

رمز:www.OnlyDownload.ir

برنامه نویسی ویژوال بیسیک 6 ( قسمت دوم)

 در قسمت دوم آموزش برنامه نویسی ویژوال بیسیک 6 به ساخت منو می پردازیم. 

منوها : برای قراردادن و طراحی منو برای فرم از منویtools/menu editor را انتخاب میکنیم. 

برای افزودن گزینه ای جدید به منو عنوان آن را در کادر caption و نام آن را در کادر name تایپ میکنیم 

برای آنکه گزینه فعلی زیر منوی گزینه قبلی شود کلید جهت راست را فشرده و برای لغو آن از کلید جهت سمت چپ استفاده میکنیم. 

برای ترتیب گزینه ها در منو از فلش بالا و پایین استفاده میکنیم و برای آنکه کنار گزینه علامت تیک گذاشته شود از کادر checked برای فعال کردن گزینه از کادر enabled و برای قابل رویت بودن گزینه از کادر vizible استفاده میشود . 

برای استفاده کردن گزینه ای بین گزینه های دیگر از insert و برای حذف یک گزینه از delete استفاده میشود .

psscode

 

برای آنکه بین گزینه های منو خطی قرار گیرد که مثلا بعضی گزینه ها را از بعضی دیگر جدا کند , گزینه ای با caption خط فاصله ایجاد میکنیم و برای قرار دادن خط زیر برای یکی از حروف گزینه به منظور انتخاب گزینه به کمک alt قبل از حرف مورد نظر در caption کاراکتر &را قرار میدهیم : 

مثال: &file 

خاصیت enabled : در حین اجرای برنامه تغیر این خاصیت به true و false باعث غیر فعال شدن گزینه میشود . 

مثال : در برنامه رو به رو گزینه open را غیر فعال میکند : mnuopen.enabeld=false ,که در اینجا mnuopen نام گزینه است 

خاصیت visible : اختصاص مقدار false به این خاصیت گزینه را پنهان میکند . 

خاصیت checked : خاصیت مقدار true به این خاصیت باعث میشود تا کنار گزینه علامت تیک ظاهر شود . 

 

حالا شما می توانید به راحتی یک منو در VB6 بسازید. البته ساخت منو پیچیده و آموزش کامل تر را در قسمت های بعدی شاهد باشید. موفق و پیروز باشید.

برنامه نویسی ویژوال بیسیک 6 ( قسمت یک)

:هنگام طراحی برنامه پس از انتخاب شی در پنجره properties مشخصه مورد نظر را یافته مقدار آن را تغییر میدهیم
تمرین : تغییر مشخصه caption فرم به iran:
“Form1.caption=”iran
نکته : بعضی از مشخصه ها فقط هنگام طراحی و بعضی دیگر فقط در حین اجرای برنامه قابل تغیرند.
·مشخصه name (برای همه اشیاء) : نام شی در این مشخصه قرار میگیرد , این مشخصه در حین اجرای برنامه قابل تغیر نیست
· ·مشخصه caption (برای اکثر اشیاء) :عنوان شی در این مشخصه قرار میگیرد.
· ·رویداد click (برای همه اشیاء) : با کلیک روی شئ این رویداد رخ می دهد
· ·رویداد dbclick (برای فرم) : دابل کلیک روی فرم باعث رخ دادن این رویداد می شود
تمرین : در برنامه زیر با کلیک روی فرم عنوان آن با کلیک روی فرم عنوان آن به hello و دابل کلیک روی فر عنوان آن به bye تغیر میکند:
: Form1_click
“Form1.caption=”hello
: Form1_dbclick
“Form1.caption=”bye
·مشخصه backcolor (برای فرم) : رنگ زمینه فرم در این مشخصه نگهداری میشود .
· ·شئ text : از این شی برای دریافت یک عبارت از کاربر یا نمایش مقداری به کاربر استفاده میشود .
· ·مشخصه text (برای text) : متن درون شئ text در این مشخصه نگهداری میشود
تمرین:در برنامه زیر با فشردن کلید command1 متن تایپ شده درون شئ text1 در عنوان فرم ظاهر شده و متن درون text
پاک میشود :
ابتدا مشخصه های زیر را تغیر میدهیم :
برای شئ text1 :
“”=text1
برای شئ command1 :
Caption = نمایش
در رویداد command1_click :
Form1.caption=text1.text
“”=Text1.text
رویداد change (برای text) : با هر گونه تغیر در محتویات text این رویداد رخ می دهد .
تمرین : در برنامه زیر پس از تایپ دو عدد درون text1 و text2 وفشردن command1 مجموع آن دو عدد درون text3 ظاهر میشود:
در رویداد command1_click :
(Text3.text=val(text1.text)+val(text2.text
·مشخصه fontsize(برای text) : اندازه فونت متن درون text1 در این مشخصه قرار دارد .
· ·مشخصه Enabled (برای همه اشیاء) : اگر این مشخصه برابر با false قرار داده شود شی غیرفعال میشود .
· ·مشخصه locked (برای همه اشیاء) :اگر این مشخصه را برابر با true قرار دهیم کادر text قفل شده و کاربر نمیتواند محتویات آن را تغیر دهد
· ·مشخصه maxlenght (برای text) : حداکثر تعداد کاراکترهایی که میتوانند درون text تایپ شوند در این مشخصه قرار میگیرند .
· ·شئ option (دکمه رادیویی) : برای انتخاب یک گزینه از میان چند گزینه به کار میرود
· ·مشخصه value (برای option) : اگر شئ option انتخاب شود مشخصه فوق برای true میشود
· ·اشیاء image و picture : از این دو شئ برای نمایش فایل های تصویری در برنامه استفاده میشود .
· ·مشخصه picture (برای image و picture) : نام و مسیر فایل تصویری مورد نظر در این مشخصه قرار میگیرد .
· ·مشخصه loadpicture (برای image): از این مشخصه برای تعویض عکس در موقع اجرای برنامه استفاده میشود .
· ·مشخصه stretch (برای image) : اگر این مشخصه برابر با true قرار داده شود تصویر انتخاب شده به اندازه آن در می آید
· ·مشخصه visible (برای همه اشیاء) : اگر این مشخصه را برابر با false قرار دهیم شئ پنهان میشود
تمرین:در برنامه زیر با هر با فشردن کلید command1 تصویر درون image ظاهر و پنهان میشود :
به مشخصه picture برای image تصویر مورد نظر را اختصاص میدهیم
در رویداد command1_click :
If image1.vizible=true then
Image1.vizible=false
Else
Image1.vizible=true
End if
در صورتی که سوالی داشتید در قسمت نظرات مطرح نمائید. لطفاً سوالات مرتبط با مقاله را مطرح نمائید و از سوال کردن قسمت های مختف ویژوال بیسک خودداری کنید.

طراحی splash screen

:: امروز می خواهم چگونگی ساخت یک Splash Screen برای برنامه هایی که مینویسیم را براتون شرح بدم . خوب باز هم باید توابع مورد نیاز را فراخوانی کرده و همچنین ثوایت مورد نیاز را تعریف کنیم

Const LWA_COLORKEY = &H1
Const LWA_ALPHA =
&H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED =
&H80000
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As
Long
Private
Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal _
dwNewLong As Long) As
Long
Private
Declare Function SetLayeredWindowAttributes Lib _
"user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha _
As Byte, ByVal dwFlags As Long) As
Long

نوع نمایش این Splash Screen به گونه ای است که میزان شفافیت فرم آن از 0 به 255 رسیده و دوباره کاهش یافته به صفر می رسد (یا بعبارت دیگر از حالت نامرئی به شفافیت کامل رسیده و دوباره از شفافیت آن کاسته شده و نامرئی می شود ) . خوب تنها Control که برای این برنامه نیاز داریمTimer می باشد . کدی که در Form_Load می بینید باعث می شود که فرم در ابتدای امر نامرئی باشد چون مقدار bAlfa آنرا 0 داده ام


Private Sub Form_Load()
    
    Dim Ret As
Long
    
'Set the window style to 'Layered'
    Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
    Ret = Ret Or WS_EX_LAYERED
    SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret

   'SetLayeredWindowAttributes Me.hWnd,0,(0-255),LWA_ALPHA
    SetLayeredWindowAttributes Me.hWnd,0,0,LWA_ALPHA

    Timer1.interval = 1
    End
    
End Sub

در مرحله بعد برای اینکه فرم از حالت نامرئی به مرئی برسد (یعنی مقدار آن از 0 به 255 برسد) یک حلقه For نوشتم . حال برای اینکه فرم دوباره از حالت مرئی به نامرئی برشد یک حلقه For دیگر با گام افزایش -1 نوشتم تا مقدار آنرا کاهش دهد .

Private Sub Timer1_Timer()
 
     For i = 1 To
255
       SetLayeredWindowAttributes Me.hWnd,0,CByte(i),LWA_ALPHA
     Next i

     For i = 255 To 1 Step -
1
       SetLayeredWindowAttributes Me.hWnd,0,CByte(i),LWA_ALPHA
     Next i
     
     Timer1.Enabled =
False
  
End Sub

(*) یک نکته : این برنامه در سیستم عاملهای windows 2000 به بعد قابل اجراست , زیرا توابع مورد استفاده در این برنامه در ویندوزهای 98 و 95 وجود ندارد .

 

:: این برنامه را می توانید دریافت کنید

مدیریت رجیستری

این برنامه چگونگی برنامه نویسی برای رجیستری ویندوز را نشان را می دهد , شما با یک نگاه به سورس این برنامه متوجه می شوید که چگونه عمل می کند . در ضمن علت اینکه من دیگه مثل گذشته توضیحی برای سورس برنامه نمی دهم این است که اصلاً وقت نمی شه , اگه باز هم احساس می کنید که در فهم سورس این برنامه مشکلی دارید برام ایمیل بزنید تا در اولین موقعیت برایتان توضیح دهم .

 

دریافت برنامه

همچنین یه Help هم برای دانلود گذاشتم که شما را برای رسیدن به آدرس مورد نظر برای تغییر در رجیستری ویندوز کمک می کنه . این Help طبقه بندی شده است و بسیار کامل و خوب هست حتماً دانلود کنید .

دریافت برنامه

:: سورس برنامه ی buddy spy

سلام دوباره به همه دوستان عزیز

 

 

خوب شاید برخی از شما نام نرم افزار Buddy Spy رو شنیده باشید , اگر هم نشنیده اید خوب من براتون می گم . کاربرد این برنامه برای Yahoo Messanger هست , مثلا شما می خواهید دیگران فکر کنند که شما WebCam دارید یا اینکه بفهمید یک شخص خاصی واقعاً invisible هست یا نه و اینکه شخص مورد نظر شما در Room های یاهو هست یانه و ..... . خوب این برنامه با ویژوال بیسیک نوشته شده و آقای Brandon Henricks لطف کردن و سورس این برنامه را بصورت Free و تحت GNU Licence عرضه کرده اند .

 

buddy spy

دریافت سورس برنامه