کار با فایل ها

کار با فایل ها
curdir دستور تغیر نام پوشه
curdir دستور تغیر نام پوشه
chdir دستور تغیر فهرست جاری
chdrive دستور تغیر درایو جاری
mddir دستور ایجاد پوشه
e:\ در درایو class مثال ساخت پوشه
Chdrive("e:")
Chdir("\")
Mddir("class")
rmdir دستور حذف پوشه خالی

kill دستور حذف فایل
c:/dos/os2.txt مثال :حذف فایل
Kill("c:\dos\os2.txt")
dir دستور جستجوی فایل
جستجو شده و پیغام با جستجو به نمایش در می آید: readme.txt مثال:در برنامه زیر فایل
A=dir(readme.txt)
If a=" " then
Msgbox("no find file")
Else
Msgbox("find file")
End if
روی کاغذ می شود: txt باعث چاپ فایل های با پسوند command مثال در برنامه زیر فشردن 1
: command1_click در رویداد
a=dir("*.txt")
do while a<>""
printer.print a
a=dir()
loop
printer.enddoc


روش دستیابی به فایل ها

روش دستیابی به فایل ها :
1: دسترسی ترتیبی 2: دستیابی تصادفی 3: دسترسی دودویی
*دسترسی ترتیبی :در این روش اطلاعات در فایل به صورت سطر به سطر خوانده یا نوشته می شوند
و برای دستیابی به یک سطر خاص لازم است تا از اطلاعات قبل آن عبور کرده به اطلاعات مورد نظر
برسیم .خواندن و نوشتن اطلاعات در این روش ممکن نیست
مثال : فایل های متنی
*دستیابی تصادفی : در این روش اطلاعات به صورت رکورد به رکورد خوانده و نوشته می شوند.
و با دانستن شماره هر رکورد میتوان مستقیما به اطلاعات آن رکورد دسترسی پیدا کرد
خواندن و نوشتن همزمان رکوردها امکان پذیر است .مثال فایل های پایگاه داده
*دسترسی دودویی : در این روش اطلاعات به صورت بایت به بایت خوانده یا نوشته می شوند
برای دستیابی به یک بایت دانستن شماره آن بایت کافی است به طور همزمان می توان عملیات
خواندن و نوشتن را روی اطلاعات انجام داد
مثال فایل های صوتی و تصویری.
دستور باز کردن فایل :قبل از استفاده از یک فایل ابتدا باید با دستور زیر آن را باز کرد:
open نام و مسیر فایل For عملیات مورد نظر As شماره فایل

عملیات مورد نظر می تواند یکی از موارد زیر باشد :

41
باز کردن فایل به صورت ترتیبی برای خواندن اطلاعات آن. : Input
باز کردن فایل به صورت ترتیبی برای نوشتن اطلاعات در آن در صورتی که فایل از : Output
قبل موجود باشداطلاعات قبلی آن پاک می شوند .
باز کردن فایل به صورت ترتیبی برای اضافه کردن اطلاعات به انتهای آن. : Append
باز کردن فایل به صورت تصادفی برای نوشتن و خواندن اطلاعات. : Random
باز کردن فایل به صورت دودویی برای نوشتن و خواندن اطلاعات آن .شماره فایل باید : Binary
عددی غیر تکراری باشد مثال:
Open"c:\persian.txt" forinput as 3
Open"e:\vb.dat" for random as 5
را برای خواندن اطلاعات آن به صورت ترتیبی باز کرده و c:\persian.txt دستورات فوق فایل
شماره 3 را به آن اختصاص می دهد.
را به صورت تصادفی برای نوشتن و خواندن رکورد های آن باز کرده و e:\vb.dat دستور دوم فایل
شماره 5 را به آن اختصاص می دهد.
تابع یافتن شماره غیر تکراری برای فایل:
نام فایل =freefile( )
مثال:
A=freefile()

Open"Persian.txt"for append as a

42
Cloce# دستور بستن فایل :در پایان کار با یک فایل آن را با دستور زیر می بندیم . شماره فایل
دستور نوشتن در فایل ترتیبی :
Print# اطلاعات مورد نظر , شمار فایل
باعث ایجاد فایلی به نام command مثال 1: در برنامه زیر عبارت فشردن کلید 1
را درون آن می نویسد: iran شده و 10 بار عبارت d: در درایو persian.txt
command1_click : در رویداد
Open"d:\persian.txt"for output as 9
For i=1 to 10
print#9,"iran"
Next
Close#8
با آن text نام فایلی درخواست شده و اطلاعات درون 1 save مثال 2:در برنامه زیر فشردن کلید
نام ذخیره می شود:
قرار می دهیم. true را برابر با text برای 1 multiline اول خاصیت
: command1_click در رویداد
Commondialog1.showsave
Open commondialog1.filename+".txt"for output as 6
Print#6,text1.text
Close#6

43
(eof ) تابع تشخیص انتهای فایل شماره فایل
می شود. true در صورتی که به انتهای فایل رسیده باشیم تابع و مقدار فوق
درون d:\persian.txt محتویات فایل command مثال :در برنامه زیر با فشردن کلید 1
نمایش داده می شود: text1
قرار می دهیم true را برابر با text برای 1 multiline اول خاصیت
command1_click در رویداد
open"d:\persian.txt" for input as 8
do until eof(8)
input#8,a$
text1.text=text1.text+a$
loop
close
دستور نوشتن در فایل تصادفی :
put# مقدار مورد نظر,شماره رکورد و بایت,شماره فایل
دستورخواندن در فایل تصادفی :
get# متغیر,شماره رکورد و بایت,شماره فایل

44
کپی file فایل یاد دشه به 2 command و فشردن 1 file مثال :در برنامه زیر پس از انتخاب در
می شود:
: drive1_change در رویداد
Drive1.path=dir1.path
: dir1_change در رویداد
File1.path=dir1.path
: drive2_change در رویداد
Dir1.path=drive2.drive
: Dir2_change در رویداد
File2.path=dir2.path
همان دکمه کپی ): ) command1_click در رویداد
Open file1.path+"\"+file1.filename for binary as 1
Open file2.path+"\"+file1.filename for binary as 2
I=0
Form2.show
Form2.label1.caption="copy file"+file1.filename
Do until eof(1)
Get#1,I,a$
Put#2,I,a$
I=i+1

Loop
Form2.hide
close
در مثال بالا فرم 2 نشانه صبر و نشان دادن فایل های که دارند کپی می شود.


برنامه سازی ویژوال بیسیک 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

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

عیب یابی VBA چشم انداز

گاهی اوقات چشم انداز VBA شده اجرا نمی شوند. Likely causes include macro security settings, missing or disabled components, or external programs starting Outlook and holding it open. علل احتمالا شامل تنظیمات امنیتی ماکرو ، گم شده و یا اجزاء غیر فعال ، و یا برنامه های خارجی با شروع چشم انداز و نگه داشتن آن را باز کنید. This page aims to present the most common causes and solutions. این صفحه تا به هدف حاضر شایعترین علل و راه حل.
Macro Security ماکرو امنیت

The most common cause of VBA code not running is the macro security setting. شایع ترین علت از کد VBA در حال اجرا نیست تنظیمات امنیتی ماکرو می باشد. The default setting does not allow any Outlook VBA code to run. تنظیمات پیش فرض اجازه نمی دهد هر کد VBA چشم انداز را اجرا کنند. For instructions on how to change the setting and test whether VBA is working, see: برای دریافت دستور العمل برای تغییر تنظیمات و تست که آیا VBA در حال کار ، نگاه کنید به :

I recommend that most people use Medium in Outlook 2003 or Warnings for all macros in Outlook 2007, because that ensures that you'll get a prompt, which will let you know that Outlook VBA has loaded. من توصیه می کنند که اکثر مردم از متوسط در چشم انداز 2003 و یا هشدار برای تمام ماکروها در چشم انداز 2007 ، چرا که تضمین می کند که شما دریافت سریع ، که به شما اجازه می دانم که چشم انداز VBA تا لود. You can use the next higher macro security setting if you sign your VBA project with the Selfcert.exe tool that comes with Office; see Writing VBA Code for Microsoft Outlook for details. شما می توانید بعد از استفاده از دفتر ماکرو عالی امنیت محیط VBA خود را امضا کنید اگر پروژه با Selfcert.exe ابزاری است که می آید با ؛ دیدن نوشتن کد VBA برای مایکروسافت چشم انداز بنیاد ویکیمدیا است.

If you choose Very High (available in Outlook 2003 only) Outlook VBA macros will not run, since Outlook 2003 has no default "trusted location." اگر شما انتخاب می کنید بسیار بالا (موجود در چشم انداز 2003) چشم انداز ماکروهای VBA شده اجرا نمی شوند ، چرا که چشم انداز 2003 به طور پیش فرض وجود ندارد "مورد اعتماد محل".

These articles from the Office Resource Kit explain macro security in detail: این مقالات از منابع دفتر کیت توضیح امنیتی ماکرو با جزئیات :

Outlook Held Open چشم انداز باز برگزار شد

If the macro security dialog doesn't open or if Alt+F11 does not open the VBA window, you may have a different problem: VBA itself isn't loading. اگر گفت و گو امنیتی ماکرو باز نمی شود یا اگر دگرساز + F11 ندارد VBA پنجره باز نشده باشند ، شما ممکن است مشکل مختلف داشته باشد : VBA خود اجرا نیست. One possible cause is that another program is starting Outlook without any user interface and, when the user starts Outlook's UI, most  COM add-ins -- including the VBA environment -- won't start up. یک علت احتمالی این است که یکی دیگر از برنامه شروع چشم انداز بدون رابط کاربر هیچ ، و هنگامی که کاربر شروع به رابط کاربر ، چشم انداز ترین کام افزودنی را قابل فهم -- از جمله محیط VBA -- و نه راه اندازی خواهد شد.

To troubleshoot, shut down Outlook and wait a few minutes. برای عیب یابی ، تعطیل و چشم انداز چند دقیقه صبر کنید. Use Ctrl+Alt+Delete to display the Task Manager and make sure that Outlook.exe is no longer running. استفاده از کنترل + دگرساز + حذف برای نشان دادن وظیفه مدیریت و مطمئن شوید که Outlook.exe دیگر در حال اجراست. If it is, you almost certainly have a program holding Outlook open; use the Task Manager to stop Outlook. اگر شما به طور تقریبا قاطعانهای داشته چشم انداز برگزاری برنامه باز ؛ استفاده از مدیریت وظیفه برای جلوگیری از چشم انداز. Then quit or disable any anti-virus, anti-spam, fax, or PDA synchronization utilities. سپس ترک یا غیر فعال کردن هر ضد ویروس ، ضد اسپم ، فکس ، کامپیوتر دستی و یا خدمات همگام. (You may want to disconnect from the Internet during this phase of the troubleshooting.) Restart Outlook and try to get into VBA. (شما ممکن است بخواهید از اینترنت قطع در طول این مرحله عیب یابی.) چشم انداز راه اندازی مجدد کنید و سعی کنید به VBA دریافت کنید. If it works, then quit Outlook and restart one of the utilities you turned off. اگر کار کرد ، سپس ترک چشم انداز و دوباره یکی از تاسیسات شما خاموش است. Restart Outlook to see if VBA runs OK. راه اندازی مجدد چشم انداز را خوب اجرا می شود اگر VBA. Repeat with the other utilities. تکرار با آب و برق دیگر. If you find one that makes it impossible to start VBA, you may need to start Outlook before you run that utility. اگر شما 1 است که باعث غیر ممکن است برای شروع VBA ، ممکن است لازم باشد قبل از شروع چشم انداز را اجرا می کنید که ابزار. Make sure that such a utility is not set to start when Windows starts, so you can start it after you run Outlook. اطمینان حاصل کنید که از جمله ابزار تنظیم نشده است که برای شروع ویندوز شروع می شود ، بنابراین شما میتوانید آن را اجرا می کنید بعد از چشم انداز شروع می شود.

VBA Not Trusted VBA قابل اعتماد نیست

Outlook supports, but does not normally set a DontTrustInstalledFiles registry value that controls whether COM add-ins are trusted. چشم انداز پشتیبانی ، ولی به طور معمول نمی مجموعه DontTrustInstalledFiles که ارزش رجیستری کنترل میکند که آیا کام افزودنی را قابل فهم هستند اعتماد کرد. VBA itself is a COM add-in, so if DontTrustInstalledFiles is set to 1 and macro security is set to High, no COM add-ins run, including VBA. VBA خود کام افزودنی در ، پس اگر DontTrustInstalledFiles به 1 مجموعه و امنیتی ماکرو به بالا تعیین می کنند ، هیچ کام اضافه اجرا فهم ، از جمله VBA.

In Outlook 2003, you can also control this option with the Tools | Macro | Security dialog, on the Trusted Publishers tab, using the Trust all installed add-ins and templates check box. در چشم انداز 2003 ، شما همچنین می توانید شاهد این گزینه با ابزار | کلان امنیت | گفت و گو ، در مورد اعتماد ناشران برگه ، با استفاده از اعتماد تمام نصب افزودنی را فهم الگوهای جعبه چک کنید.

Other Possible Causes دیگر علل ممکن

VBA is part of a default Outlook installation, but in a custom installation, it can be omitted or disabled. VBA بخشی از چشم انداز به طور پیش فرض نصب است ، اما در نصب سفارشی ، می توان آن را حذف و یا فعال نیست. Try rerunning Office or Outlook setup and, under Office Shared Features, make sure that the VBA and Visual Basic Help components are installed. سعی کنید rerunning دفتر یا تنظیم چشم انداز و تحت اداره ویژگی های به اشتراک گذاشته شده ، مطمئن شوید که VBA و بصری اجزاء اساسی راهنما هستند نصب شده است.

If you still can't find the cause, try creating a new Windows user profile. اگر شما هنوز هم می تواند علت را پیدا کند ، سعی کنید ایجاد یک پروفایل جدید ویندوز کاربر. That will provide a clue as to whether the issue is with the installation or with the particular user's settings. خواهد شد که سرنخ که آیا این موضوع با نصب یا تنظیمات خاص کاربر را فراهم کند.

چشم انداز آغاز به کار با VBA

 مانند اکثر برنامه های آفیس ، مایکروسافت چشم انداز 2000 و بعد از آن نسخه های نرم افزاری شامل ویژوال بیسیک ، جایی که شما نمی توانید کدهای خود را به طور خودکار به چشم انداز بنویسید. And, like most of the Office programs, there is no macro recorder. و مثل اکثر از برنامه های آفیس ، هیچ ضبط ماکرو وجود دارد. Fortunately, there are plenty of VBA samples here and elsewhere. خوشبختانه ، مقدار زیادی از نمونه VBA وجود دارد در اینجا و جاهای دیگر.
Getting Started شروع

Here are the absolute basics for getting started with Outlook VBA: در اینجا اصول مطلق برای کار با چشم انداز VBA شده :

  1. In Outlook 2000 to 2003, choose Tools | Macro | Security and set security to Medium . در چشم انداز 2000-2003 ، انتخاب ابزار | کلان | امنیت و امنیت را به مجموعه ای متوسط. In Outlook 2007, the macro security settings are in the Tools | Trust Center dialog. در چشم انداز 2007 ، تنظیمات امنیتی ماکرو گفت و گو در ابزار | مرکز تراست. Set macro security to Warn on all macros . امنیتی ماکرو را به در اخطار در تمام میدهند.
  2. Restart Outlook. چشم انداز راه اندازی مجدد.
  3. Press Alt + F11 to bring up the VBA environment, مطبوعات دگرساز + F11 را تا محیط VBA ،
  4. Expand the Project Explorer at upper left. گسترش پروژه اکسپلورر در سمت چپ بالا.
  5. Double-click the built-in ThisOutlookSession module to open it. دوبار کلیک کنید ساخته شده در ThisOutlookSession ماژول به آن باز شود. Accept the prompt to enable macros. پذیرش سریع برای فعال میدهند.
  6. Type or paste your code into the ThisOutlookSession module. تایپ یا پیست کنید کد خود را در ماژول ThisOutlookSession.

Here is a simple sample you can use to see if it's all working. در اینجا نمونه ساده شما می توانید استفاده کنید تا ببینید که آیا آن کار تمام است. It creates a new mail message with the subject "Hello World" and displays it: آن را ایجاد پیام جدید با ایمیل با موضوع "سلام جهان" و نمایش آن :

 Sub HelloWorldMessage() Dim msg As Outlook.MailItem Set msg = Application.CreateItem(olMailItem) msg.Subject = "Hello World!" msg.Display Set msg = Nothing End Sub زیر HelloWorldMessage () کم نور به عنوان Outlook.MailItem msg msg = تنظیم Application.CreateItem (olMailItem) msg.Subject = "سلام جهان!" msg.Display msg = تنظیم پایان هیچ چیز فرعی

برای اجرای ماکرو VBA VBA از محیط زیست ، F5 را فشار و یا کلیک بر روی دکمه اجرای در نوار ابزار. Or run it from the main Outlook window with Alt-F8. یا اجرای آن را از پنجره اصلی چشم انداز با دگرساز - F8 را بزنید. If you get an "enable macros" prompt, choose to enable. اگر شما "را فعال ماکرو" اعلان را انتخاب کنید برای فعال.

About the Application Object درباره برنامه شیء

Application is an intrinsic object that represents the running Outlook application. برنامه شی ذاتی است که نشان دهنده چشم انداز برنامه در حال اجرا می باشد. To avoid security prompts , you should derive all Outlook objects in your code from this intrinsic Application object, as in this statement that creates a new mail message: برای جلوگیری از امنیتی دهید ، شما باید شی مشتق چشم انداز تمام اشیاء خود را در کد برنامه ذاتی از این ، همانطور که در این بیانیه که ایجاد یک پیام ایمیل جدید :

Set msg = Application.CreateItem(olMailItem) تنظیم msg = Application.CreateItem (olMailItem)

For an example of how to get a "trusted" MailItem object derived from Application when writing a procedure for use with an Outlook "run a script" rule action, see: برای مثال از چگونگی دریافت "اعتماد" MailItem شیء بدست آمده از برنامه هنگام نوشتن روش برای استفاده با چشم انداز "اجرای اسکریپت" اقدام حکومت ، نگاه کنید به :

If you want to write a macro that operates on either an open item or an item selected in a folder, you can add the GetCurrentItem() function to your VBA project. اگر می خواهید برای نوشتن یک ماکرو که عمل در هر دو آیتم باز کردن و یا آیتم انتخاب شده در پوشه ، شما می توانید اضافه کردن GetCurrentItem تابع () به VBA پروژه شما. Just remember to change this statement: فقط این بیانیه به تغییر یاد داشته باشید :

Set objApp = CreateObject("Outlook.Application") objApp تنظیم = CreateObject ("Outlook.Application")

to: به :

Set objApp = Application objApp تنظیم = کاربرد

so that it uses the intrinsic Application object. به طوری که آن را با استفاده از برنامه ذاتی شی.

To process all the items selected in Outlook's main window, first return the ActiveExplorer.Selection collection: به فرایند تمام آیتم های انتخاب شده در پنجره اصلی چشم انداز است ، بازگشت به ابتدا مجموعه ActiveExplorer.Selection :

Set colSel = Application.ActiveExplorer.Selection تنظیم colSel = Application.ActiveExplorer.Selection

To perform some action on the currently open item, first return the ActiveInspector.CurrentItem object: برای انجام برخی اقدامات در حال حاضر مورد باز ، 1 بازگشت شی ActiveInspector.CurrentItem :

Set objItem = Application.ActiveInspector.CurrentItem objItem تنظیم = Application.ActiveInspector.CurrentItem

استخراج مشخصات سخت افزاری یک سیستم در وی بی

در این بخش یک کنترل Ocx معرفی می شود که بوسیله آن می توانید مشخصات سخت افزاری سیستم خود را استحراج کنید . 
این کنترل را که Hardware Info نام دارد می توانید از اینجا دانلود نمایید


پس از باز نمودن فایل zip دانلود شده مشاهده خواهید کرد که دو فایل dll و یک فایل ocx در آن وجود دارد . همچنین یگ فایل راهنما نیز بهمراه آنها وجود دارد که طریقه استفاده از کنترل را نشان می دهد . برای استفاده از کنترل فوق وارد محیط ویژال بیسیک شده و سپس وارد منوی Components شوید .  در آنجا روی دکمه Browse کلیک کنید . وارد پوشه ای که فایل zip را در آنجا باز کرده اید شده و فایل HWInfo.ocx را انتخاب کنید تا این کنترل به لیست کنترلهای نوار ابزار شما اضافه شود . حال می توانید از کنترل را روی فرم خود قرار دهید و از امکانات آن استفاده کنید .
این کنترل دارای خصوصیات زیر است :
BaseBoardManufacturer : مشخصات سازنده مادربورد
BaseBoardProduct : نوع چیپ ست مادربورد
BiosVendor : سازنده بایوس
BiosReleaseDate : تاریخ انتشار بایوس
BiosVersion : ورژن بایوس
BiosROMSize : سایز حافظه رام بایوس
SocketDesignation : نوع سوکت پردازنده
ProcessorType : نوع پردازنده
ProcessorManufactor : سازنده پردازنده
ProcessorID : شماره ID پردازنده
ProcessorSerialNumber : شماره سریال پردازنده
با استفاده از این کنترل همچنین می توان اطلاعات هر چهار هارد دیسک IDE سیستم را استخراج نمود برای مثال اگر بخواهید اطلاعات Primary Hard ( شماره یک ) را بدست آورید از خصوصیات زیر استفاده کنید :
HardDisk1ModelNumber : شماره مدل هارددیسک
HardDisk1SerialNumber : شماره سریال هارد دیسک ( شماره سریال کارخانه )

تشخیص فشرده شدن کليدهای کيبرد

يکي از دوستان سوال کرده بودند که چگونه مي توان کليدهاي کيبرد را حتي وقتي فوکوس روي برنامه ما نيست تشخيص داد مانند ديکشنري ها که مثلاً با CTRL+F12 فعال مي شوند و يا Keylogger ها که کليدهاي فشرده شده را ثبت مي کنند .
من دو روش زير را براي اينکار پيشنهاد مي کنم :

? - استفاده از يک تابع کتابخانه اي به اسم  GetAsyncKeyState موجود در کتابخانه user32.dll . اين تابع ، فشرده شدن يا رها شدن يک کليد را تشخيص مي دهد . نحوه declare کردن اين تابع بصورت زير است :

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

حال در برنامه تان يک timer قرار داده و در event آن کد زير را قرار دهيد :

    For i = 1 To 255
        results = 0
        results = GetAsyncKeyState(i)
        If results <> 0 Then
           Msgbox(Chr(i))
        End If
    Next

براي مشاهده يک برنامه نمونه به اين آدرس مراجعه کنيد .

? - استفاده از قلاب يا Hook : قلاب ، يک ابزار در مکانيزم مديريت پيغام سيستم ويندوز است که توسط آن برنامه ها مي توانند يک روتين را براي مديريت و پردازش پيغامهاي خاصي قبل از اينکه آن پيغامها به برنامه مقصد برسند نصب نمايند . قلابها باعث کندي سيستم مي شوند زيرا حجم پردازشي سيستم روي هر پيغام را افزايش مي دهند بنابراين بايستي زمانيکه واقعاً به قلاب نياز داريد آنرا نصب نموده و هر چه زودتر آنرا حذف نماييد . سيستم ويندوز از انواع زيادي از قلابها پشتيباني مي کند که هر کدام امکان دستيابي به پيغامهاي خاصي را مهيا مي نمايند براي مثال يک برنامه کاربردي مي تواند با استفاده از قلاب کيبرد براي مديريت و پردازش پيغامهاي مربوط به آن ( مثل فشرده شدن يک کليد خاص يا رها شدن آن ) استفاده کند .
براي نصب يک قلاب در برنامه از يک تابع کتابخانه اي به اسم SetWindowsHookEx استفاده مي شود . اين تابع يک قلاب را به زنجيره قلابهاي سيستم اضافه مي کند . نحوه declare کردن اين تابع بصورت زير است :

Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long

همچنين براي آزاد کردن يک قلاب و حذف آن از زنجيره قلابها از تابع کتابخانه اي UnhookWindowsHookEx استفاده مي گردد . نحوه declare کردن اين تابع بصورت زير است :

Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

براي ايجاد قلاب کيبرد همچنين نياز به تعريف يک ثابت است که شماره قلاب کيبرد در آن قرار دارد :

Public Const WH_KEYBOARD = 2

حال بايستي يک تابع پس زمينه يا Callback Function نوشت که به ازاي فشرده شدن کيبرد اجرا شود و آدرس آنرا ( با استفاده از کلمه کليدي Address Of ) بهمراه ثابت فوق به تابع SetWindowsHookEx فرستاد .

 

آموزش VB.NET (بخش چهارم)

آموزش ويژوال بيسيك دات نت (بخش چهارم)

 

ساختارهای شرطی در Visual Basic.NET
اين گفتار برآنيم تا ساختارهای شرطی در ويژوال بيسيک دات نت را بررسی کنيم. اين ساختارها If..Then و Select..Case می باشند.
ساختار If..Then
ابتدائی ترين ساختار شرطی در ويژوال بيسيک دات نت ساختار If..Then می باشد. با استفاده از اين ساختار هنگامی که شرط مورد نظر برقرار باشد، می توان دستور يا دستورات متعددی را اجرا نمود.
بعنوان مثال در برنامه زير اگر زمان سيستم بعد از ظهر را نشان دهد، جمله "Good Evening IranASP.NET" بر روی صفحه نمايش داده می شود.
<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
end if
%>
همچنين ساختار If..Then عبارت Else را هم پشتيبانی می کند. اگر شرط مربوط به If برقرار نباشد، دستورات موجود در قسمت Else اجرا می شوند. به مثال زير توجه فرمائيد.
<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
else
Response.write ("Good Morning IranASP.NET !")
end if

%>
ساختار Select..Case
در ساختار Select..Case می توان مقداری را با مقادير مختلفی مقايسه کرده و دستورات مربوط به مقدار يافت شده را اجرا نمود. بعنوان مثال قطعه برنامه زير پيامهای مختلفی را برحسب نوع مرورگر نمايش می دهد.
<%
Dim strBrowser As String

strBrowser = Request.Browser.Browser
Select Case strBrowser
Case "IE"
Response.Write( "You are using Internet Explorer!" )
Case "Netscape"
Response.WRite( "You are using Netscape!" )
Case Else
Response.Write( "What browser are you using?" )
End Select
%>
دقت داشته باشيد که ساختار Select..Case در برنامه فوق دارای يک قسمت Case Else می باشد. هرگاه هيچ يک از حالات مقايسه ای برقرار نبود، دستورات موجود در قسمت Case Else اجرا می گردند. استفاده از Case Else اختياری است.

آموزش VB.NET (بخش سوم)

آموزش ويژوال بيسيك دات نت(بخش سوم)

 

انواع داده ای در Visual Basic.NET
برای تعريف يک متغير در ويژوال بيسيک دات نت از عبارت Dim استفاده می شود. برای مثال چمله زير يک متغير جديد به نام myVar تعريف می کند:
Dim myVar
هنگامی که يک متغير مانند فوق بدون در نظر گرفتن نوع آن تعريف شود، آن متغير بعنوان يک شئ (Object) در نظر گرفته می شود. يک متغير از نوع شئ در دات نت می تواند شامل انواع داده از قبيل رشته، عدد يا انواع پيچيده تر مانند کلاس باشد.
اغلب نيازی نيست که از متغيرهای از نوع شئ در برنامه استفاده شود چرا که اين متغيرها باعث کاهش کارآيی و سرعت برنامه می شود. هنگامی که از يک متغير از نوع شئ استفاده شود، نوع مناسب آن متغير در زمان اجرا تشخيص داده می شود و اين باعث کندی می شود. بنابراين بهتر است که نوع داده را از ابتدا مشخص کنيم.
جهت مشخص نمودن نوع داده از کلمه کليدی As استفاده می کنيم. بعنوان مثال يک متغير از نوع رشته بصورت زير تعريف می شود:
Dim myVar As String
مجموعه دات نت انواع داده ای زير را پشتيبانی می کند:
• Boolean: جهت مقادير درست يا نادرست
• Byte: جهت مقادير صحيح صفر تا ۲۵۵ (تنها مقادير مثبت)
• Char: جهت مقادير نويسه ها يا حروف يونيکد
• Date: جهت مقادير تاريخ و زمان بين اول ژانويه ۰۰۰۱ و ۳۱ دسامبر ۹۹۹۹
• Decimal: جهت مقادير صحيح بين صفر و مثبت و منفی ۷۹,۲۲۸,۱۶۲,۵۱۴,۲۶۴,۳۳۷,۵۹۳,۵۴۳,۹۵۰,۳۳۵ (۱۶ بايت)
• Double: جهت مقادير اعشاری با دقت مضاعف
• Integre: جهت مقادير صحيح بين +۲,۱۴۷,۴۸۳,۶۴۷ و -۲,۱۴۷,۴۸۳,۶۴۸ (۴ بايت)
• Long: جهت مقادير صحيح بين -۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۸ و +۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۷ (۸ بايت)
• Short: جهت مقادير صحيح بين -۳۲,۷۶۸ و +۳۲,۷۶۷ (۲ بايت)
• Single: جهت مقادير اعشاری با دقت واحد
• String: جهت مقادير رشته ای با تعداد حروف صفر تا دو ميليارد حرف
پر کاربردترين انواع داده ای عبارتند از Integer، Decimal، Date، Boolean و String.
دقت کنيد که نوع داده ای Currency يا Money برای مقادير پولی در نظر گرفته نشده است و شما می توانيد برای مقادير پولی از نوع Decimal استفاده کنيد.

آموزش VB.NET (بخش دوم)

آموزش ويژوال بيسيك دات نت (بخش دوم)

 

آشنايی با Visual Basic.NET- متغيرها
متغيرها حاملهای دربرگيرنده مقاديری هستند که در جريان يک برنامه کاربردی می توانند تغيير کنند. برنامه نويسی بدون آنها، اگر نگوئيم غيرممکن، اما به سختی امکان پذير است. در ASP.NET، متغيرها در چند لايه وجود دارند.
لايه اول، لايه Application است. در اينجا در هر صفحه برنامه کاربردی، همه متغيرها در دسترس همه کاربران قرار دارد. معمولا يک قطعه داده نسبتا کوچک که در معرض استفاده مکرر است، همانند اطلاعات مربوط به ارتباط با بانک اطلاعاتی، در اين لايه ذخيره می شود.
لايه دوم، لايه Session است. در اين لايه، همه متغيرها در سرتاسر برنامه کاربردی يا تا برقرار بودن جلسه کاربر، در دسترس يک کاربر بخصوص هستند.
لايه سوم و آخر، لايه Page است. در اينجا همه متغيرهای تعريف شده در صفحه در سرتاسر آن صفحه در دسترس هستند. متغيرهای تعريف شده در يک صفحه ASP.NET از صفحه ديگر قابل دستيابی نيستند.
به علاوه در زمان استفاده از code-behindها در صفحات ASP.NET، در پيمانه های کلاس خود به متغيرهای سطح Procedure ،Private ،Public و Block دسترسی داريد. متغيرهای عمومی در کلاس هايی که در آنها ايجاد شده اند و نيز پيمانه های کلاس ديگر قابل دسترسی هستند. جلوی اين متغيرها کلمه کليدی Public قرار می گيرد. متغيرهای خصوصی تنها در دسترس توابع و روال های کلاس هايی هستند که در آنها تعريف شده اند.
قبل از متغيرهای خصوصی کلمه کليدی Private قرار می گيرد. متغيرهای سطح Block تنها در بلوک های برنامه ايجاد کننده خود در دسترس می باشند. قبل از متغيرهای سطح Procedure و Block کلمه کليدی Dim قرار می گيرد.
نکته حائز اهميت اين است که بايد به خاطر بسپاريم که هميشه بايد نوع داده های متغير خود را تعريف کنيم. در زير ليستی از انواع داده های پشتيبانی شده در VB.NET آورده شده است.
Boolean: درست يا نادرست
Byte: برای داده های عددی 0 تا 255
Char: برای يک کاراکتر يونيکد
Date: اطلاعات تاريخ و زمان
Decimal: اطلاعات عددی صحيح
Double: داده های عددی اعشاری
Integer, Long, Short, Single: داده های عددی صحيح
Object: متغير حامل پيش فرض جهت نگهداری هر نوع شئ
String: رشته های حرفي
در نگارشهای قبلی ويژوال بيسيک و در VBScript همه متغيرها بطور پيش فرض از نوع داده variant بودند. Variant در VB.NET وجود ندارد و با نوع داده Object جايگزين شده است.

آموزش VB.NET (بخش اول)

آموزش ویژوال بیسیک دات نت(بخش اول)

 

 

يک برنامه کامپيوتری ، از مجموعه ای دستورالعمل که نوع و نحوه انجام يک فعاليت را برای کامپيوتر مشخص می نمايند ، تشکيل می گردد. دستورالعمل های نوشته شده بعنوان نمونه ممکن است به کامپيوتر اعلام نمايند که تعدادی از اعداد را با يکديگر جمع و يا دو عدد را بايکديگر مقايسه و بر اساس نتيجه بدست آمده ، اتخاذ تصميم نمايد. دستورالعمل های نوشته شده ، صرفا" برای کامپيوتر قابل فهم و اجراء خواهند بود.کامپيوتر دستورالعمل های نوشته شده را اجراء و ماحصل آن رسيدن به اهدافی خواهد بود که بر اساس آن برنامه طراحی و پياده سازی شده است . دستورالعمل ها ، می بايست با استفاده از يکی از زبانها ی برنامه نويسی نوشته شده ( کد ينگ ) و در ادامه در اختيار کامپيوتر قرار داده شوند. زبانهای برنامه نويسی متعددی نظير : فرترن ، بيسيک ، کوبال ، پاسکال، ،C ، جاوا ، ويژوال بيسيک و ... وجود دارد.
برنامه نويسی کامپيوتر ، مشابه آموزش گره زدن کفش به کودکان است . برای نيل به هدف فوق ، می بايست تمامی مراحل لازم بصورت شفاف به کودکان آموزش داده شود . کودکان با دنبال نمودن دستورالعمل های ارائه شده ، قادر به گره زدن کفش خود خواهند بود ( روش انجام اين کار برای آنان مشخص شده و بر اساس آن ، امکان نيل به هدف مورد نظر توسط کودکان فراهم می گردد ) . VB.NET ، زبانی است که می توا ن نحوه نيل به يک خواسته را بکمک آن بصورت شفاف ( نظير آموزش گره زدن کفش به کودکان ) مشخص و کامپيوتر با دنبال نمودن مراحل مشخص شده ، خواسته مورد نظر را محقق نمايد. با استفاده از VB.NET ، می توان محصولاتی راايجاد که زمينه استفاده از آنان در محيط ويندوز و اينترنت ، وجود خواهد داشت . فراموش نکنيم در زمان فراگيری يک تکنولوژی در ابتدا می بايست شيوه راه رفتن را بياموزيم و در ادامه اقدام به دويدن نمود .
VB.NET يکی از زبان های حمايت شده در دات نت می باشد . با استفاده از زبان فوق علاوه بر اينکه می توان برنامه های مبتنی بر ويندوز را پياده سازی نمود ، امکان استفاده از آن بعنوان زبان مورد نظر در زمان ايجاد برنامه های مبتنی بر وب که از تکنولوژی ASP.NET استفاده می نمايند ، نيز وجود خواهد داشت . با توجه به اهميت و جايگاه خاص اين زبان در دات نت ، مجموعه مقالاتی در رابطه با آموزش اصولی اين زبان آماده شده که بتدريج بر روی سايت قرار خواهند گرفت . در اولين مقاله از اين مجموعه به معرفی اوليه VB.NET خواهيم پرداخت . در ابتدا لازم است با ويژگی های منحصر بفرد برنامه های مبتنی بر ويندوز در قياس با برنامه های مبتنی بر DOS ، آشنا شده و پس از مروری مختصر به روند شکل گيری نسخه های متعدد ويژوال بيسيک ، با نحوه نصب آن نيز آشنا شويم .
برنامه نويسی مبتنی بر DOS در مقابل ويندوز
برنامه نويسی مبتنی بر ويندوز دارای تفاوت های عمده ای نسبت به برنامه نويسی سنتی در محيط DOS است.برنامه های DOS ، مسيری دقيق و مشخص را ازابتدا تا پايان دنبال می نمايند . رويکرد فوق ، باعث بروز محدوديت هائی در رابطه با عملکرد برنامه ها از يکطرف و تحميل محدوديت هائی به کاربران در طی نمودن مسير مشخص شده ، می گردد. از زاويه ای خاص می توان عملکرد يک برنامه مبتنی بر DOS را مشابه قدم زدن در يک راهرو ( سالن )، در نظر گرفت . بمنظور رسيدن به نقطه انتهائی سالن ، می بايست طول سالن طی تا به انتهای آن رسيد . در اين راستا از موانع متعدد موجود در مسير ، می بايست عبور تا سرانجام به مقصد مورد نظر رسيد . در زمان پيمودن مسير ، صرفا" امکان بازنمودن درب های خاصی ، وجود خواهد داشت . ويندوز ، دنيای جديدی از برنامه نويسی مبتنی بر "رويداد" را ايجاد نموده است . کليک نمودن موس ، تغيير اندازه پنجره ، تغيير محتويات يک Textbox ، نمونه هائی از يک "رويداد" می باشند. کدهای نوشته شده ، نحوه برخورد با يک رويداد را مشخص می نمايد. برای رسيدن به انتهای يک سالن کافی است بر روی "انتهای سالن " ، کليک نمود و ديگر ضرورتی به پيمودن تمامی مسير تا رسيدن به انتهای سالن نخواهد بود . درصورتيکه به انتهای سالن رسيده باشيم و متوجه گرديم که اين مکان ، محلی نيست که انتظار آن را داشته ايم ، بسادگی می توان مقصد جديدی را برای خود انتخاب ، بدون اينکه ضرورتی به برگشت در نقطه آغازين مسير وجود داشته باشد. برنامه نوشته شده عکس العمل های لازم در ارتباط با حرکت شما را بهمراه عمليات مربوطه بمنظور تکميل فعاليت ها ی مورد نظر انجام خواهد داد . با استفاده از VB.NET ، می توان کدهای لازم بمنظور ارائه عکس العمل لازم در زمان تحقق يک رويداد را نوشت .در اين راستا ، برنامه نويسان می توانند کدهای لازم در رابطه با رويدادهائی که امکان تحقق آنها وجود دارد را نوشته تا در زمان بروز رويداد مورد نظر ، عکس العمل لازم از طرف برنامه صورت پذيرد.در اين زمينه می توان از نوشتن کدهای ديگر بمنظور برخورد با رويدادهای غيرضروری ، صرفنظر کرد. مثلا" ويندوز قادر به تشخيص رويداد"کليک " از "کليک مضاعف " است . اين بدان معنی است که اگر می خواهيد برنامه مورد نظر شما ،عکس العمل لازم در ارتباط با رويداد "کليک" را داشته باشد ، می بايست صرفا" کد مربوط به رويداد " کليک"، نوشته گردد و الزامی به نوشتن کدهای لازم بمنظور برخورد با رويداد "کليک مضاعف" ، وجود نخواهد داشت . در دنيای برنامه نويسی DOS ، کاربر عکس العمل لازم را نسبت به برنامه انجام می دهد در صورتيکه در ويندوز ، برنامه ها عکس العمل لازم را با توجه به رفتار کاربران ، انجام خواهند داد .
يکی ديگر از مزايای مهم برنامه های ويندوز ، عدم وابستگی برنامه ها به يک سخت افزار خاص است . ويندوز تمهيدات لازم در خصوص ارتباط با سخت افزار را پيش بينی و برنامه نويسان نياز به آگاهی از نحوه عملکرد يک دستگاه سخت افزاری خاص بمنظور استفاده از آن ، نخواهند داشت . مثلا" برنامه نويسان ضرورتی به آگاهی از نحوه عملکرد هر نوع چاپگر ليزری، بمنظور ايجاد خروجی مورد نظر خود در برنامه ها ، نخواهند داشت. ويندوز، امکانات لازم در اين خصوص را از طريق ارائه روتين های عمومی که با درايورهای مورد نظر مرتبط می گردند ، فراهم می نمايد. شايد همين موضوع دليل موفقيت ويندوز باشد .
روتين های عمومی اصطلاحا" Windows (API ) Application Programming Interface ناميده می شوند .
تاريخچه ويژوال بيسيک
قبل از معرفی ويژوال بيسيک در سال 1991 ، پياده کنندگان نرم افزار مجبور به تسلط و مهارت در زمينه استفاده از ++C بهمراه موارد پيچيده ای در اين خصوص بودند . بدين ترتيب ، صرفا" افراد خاص آموزش ديده، قادر به خلق نرم افزارهای قدرتمند بمنظور اجراء در محيط ويندوز بودند. ويژوال بيسيک ، محدوديت فوق را تغيير و می توان اين ادعا را داشت که امروزه خطوط زيادی از برنامه های نوشته شده با استفاده از ويژوال بيسيک کد شده است . ويژوال بيسيک ، ظاهر برنامه نويسی تحت ويندوز را با حذف عمليات اضافی برای نوشتن کدهای لازم جهت طراحی بخش رابط کاربر (UI) ، تغيير داده است . در اين راستا ، زمانيکه بخش رابط کاربر ، ترسيم می گردد ، برنامه نويس می تواند کدهای لازم بمنظور انجام عکس العمل مناسب در رابطه با رويداد ها را به آن اضافه نمايد . زمانيکه ماکروسافت نسخه شماره سه ويژوال بيسيک را ارائه نمود ، مجددا" دنيای برنامه نويسی با تغيير مهمی مواجه گرديد. در اين راستا امکانات مناسبی برای نوشتن برنامه های مبتنی بر بانک های اطلاعاتی ، در اختيار برنامه نويسان قرار گرفت. ماکروسافت بدين منظور محصول جديدی با نام DAO)Data Access Objects) را ارائه نمود . برنامه نويسان با استفاده از DAO ، امکان انجام عمليات متفاوت در رابطه با داده ها را ، بدست آوردند . نسخه های شماره چهار و پنج ، قابليت های نسخه سه را افزايش و اين امکان را برای پياده کنندگان نرم افزار فراهم نمود تا برنامه های خود را جهت اجراء در محيط ويندوز 95 ، طراحی و پياده سازی نمايند . در اين زمينه ، برنامه نويسان قادر به نوشتن کدهائی گرديدند که امکان استفاده از آنان توسط ساير پياده کنندگان نرم افزار که از زبانی ديگر استفاده می کردند، فراهم گرديد. نسخه شماره شش ويژوال بيسيک ، روش جديدی بمنظور دستيابی به بانک های اطلاعاتی را ارائه نمود: ADO)ActiveX Data Objects ) . يکی از اهداف اوليه طراحی ADO ، امکان دستيابی به بانک های اطلاعاتی برای پياده کنندگان برنامه های مبتنی بر وب است که از تکنولوژی ASP ، استفاده می نمايند.
همزمان با ارائه جديدترين نسخه ويژوال بيسيک که VB.NET ناميده می شود ، بسياری از محدوديت های مرتبط با ويژوال بيسيک برطرف گرديد . در گذشته ويژوال بيسيک با انتفادات فراوان مواجه ( عدم وجود امکانات مناسب در مقايسه با جاوا و يا ++C ) و بسياری آن را نظير يک اسباب بازی در دنيای وسيع زبان های برنامه نويسی می پنداشتند. VB.NET با غلبه بر مشکلات نسخه های پيشين ، توانسته است در مدت زمان کوتاهی ، بعنوان يک ابزار پياده سازی بسيار قدرتمند مطرح و گزينه ای مناسب برای برنامه نويسان در تمامی سطوح باشد .
نصب VB.NET
برای نصب VB.NET ، از دو رويکرد متفاوت می توان استفاده کرد :
• نصب بهمراه ويژوال استوديو دات نت
• نصب نسخه استاندارد
هر يک از گزينه های فوق ، امکان ايجاد برنامه های مبتنی بر ويندوز را فراهم می نمايند . مراحلی که در ادامه ذکر می گردد ، نحوه نصب ويژوال استوديو را تشريح می نمايد .
مرحله اول : برنامه Setup.exe را از روی CD مربوطه فعال نمائيد.
مرحله دوم : جعبه محاوره ای ، مراحل و اولويت های عمليات نصب را نشان خواهد داد. بمنظور صحت عملکرد VB.NET ، چندين Component نصب و يا بهنگام خواهند شد . اولين مرحله نصب، بهنگام سازی عناصر (Components) است . بر روی گزينه Windows Component Update ، کليک نمائيد.
مرحله سوم : برنامه نصب در ادامه سيستم را بررسی تا نوع عناصری را که می بايست بهنگام گردند، مشخص گردد. دامنه فرآيند بهنگام سازی به وضعيت ماشينی که بر روی آن ويژوال استوديو دات نت نصب می گردد، بستگی خواهد داشت .
مرحله چهارم : با توجه به اينکه ممکن است در زمان بهنگام سازی لازم باشد چندين مرتبه سيستم راه اندازی گردد ، از شما درخواست نام و رمز عبور شده تا ضرورتی به نشستن و نگاه کردن به کامپيوتر و واکنش لازم ( درج نام و رمز عبور به سيستم ) پس از هر مرتبه راه اندازی سيستم نباشد . بدين ترتيب در زمان راه انداری سيستم ، عمليات مربوطه بصورت اتوماتيک و بدون نياز به تايپ نام و رمز عبور ، انجام خواهد شد . عمليات فوق ، اختياری است و در صورتيکه گزينه فوق انتخاب نگردد ، با هر مرتبه راه اندازی سيستم، پيام مناسب ارائه و می بايست واکنش لازم ( تايپ نام و رمز عبور) را انجام داد .
مرحله پنجم : در اين مرحله با فشردن دکمه ! Install Now ، بهنگام سازی عناصر (Components) آغاز می گردد . با اتمام هر يک از آيتم ها يک Check mark بمنزله اتمام مرحله مربوطه نشان داده می شود . در مقابل عنصر جاری برای بهنگام سازی نيز يک فلش قرمز رنگ نسان داده می شود.
مرحله ششم : پس از بهنگام سازی عناصر ، مجددا" به صفحه اصلی Setup مراجعت و امکان نصب ويژوال استوديو دات نت فراهم می گردد.( کليک نمودن برروی گزينه Visiual Studio.NET )
نکته : در صورتيکه قصد داريد که از طريق ماشين فوق ، يک برنامه تحت وب پياده سازی نمائيد ، لازم است IIS و FrontPage Extensions قبلا" نصب شده باشد( بصورت پيش فرض در زمان نصب ويندوز 2000 نصب خواهد شد ) در صورتيکه ويژوال استوديو دات نت ، بر روی کامپيوتری نصب می گردد که دارای سيستم عامل ويندوز 2000 نسخه Professional است ، با يک پيام خطاء مواجه خواهيم شد( عدم وجود عناصر لازم ) با فشردن دکمه Install Component ، عمليات نصب IIS و Frontpage Extensions انجام خواهد شد . در صورتيکه دکمه Continue ، انتخاب گردد ، در آينده نمی توانيد برنامه های تحت وب را بصورت محلی بر روی کامپيوتر خود پياده سازی نمائيد .
مرحله هفتم : نظير اکثر برنامه های نصب ، ليستی از گزينه های موجود ( شامل عناصر ) برای نصب در اختيار شما قرار می گيرد . شما می توانيد ، صرفا" آنچيزی را که بدان نياز داريد ، نصب نمائيد . مثلا" در صورتيکه ظرفيت درايو شما پايين و يا ضرورتی به استفاده از ويژوال ++C دات نت را نداريد ، می توان در اين مرحله از نصب آن صرفنظر کرد. هر گزينه ای که در اين مرحله انتخاب نمی گردد ، می توان در صورت ضرورت آن را در آينده نصب کرد. برای هر يک از امکاناتی که قرار است نصب گردند ، سه بخش اطلاعاتی متفاوت نمايش داده می شود :
بخش Feature Properties . فايل ها ی مورد نظر برای نصب و ميزان فضای مورد نياز را نشان می دهد .
بخش Feature description . هر Feature چيست و چه عملياتی را انجام می دهد .
بخش Space Allocation ، وضعيت فضای ذخيره سازی هارد را با توجه به گزينه های انتخاب شده ، نشان خواهد داد .
نکته : زمانيکه ويژوال استوديو دات نت ، اجراء می گردد مجموعه ای از اطلاعات بين ديسک و حافظه مبادله می گردد . بنابراين لازم است به ميزان کافی ظرفيت آزاد بر روی هارد ديسک وجود داشته باشد ، در اين راستا نمی توان دقيقا" مشخص نمود که به چه ميزان فضای آزاد نياز خواهد بود ولی حداقل يکصد مگابايت توصيه می گردد .
مرحله هشتم : ويژوال استوديو دات نت ، شامل مجموعه ای گسترده از فايل های مستندات ( راهنما ) است . در اين مرحله می توان تنظيمات لازم در خصوص اجرای مستندات از طريق CD و يا دايرکتوری نصب شده بر روی هارد را انجام داد . در اين زمينه می توان يک مسير بر روی هارد را مشخص تا مستندات نصب و يا گزينه Run From Source را انتخاب تا بر اساس آن مستندات همچنان بر روی CD باقی بمانند .
مرحله نهم : پس از انتخاب عناصر مورد نظر برای نصب ، با فشردن دکمه ! Install Now ، عمليات نصب آغاز می گردد . مدت زمان نصب ، بستگی به موارد انتخابی و نوع سيستم دارد . مثلا" نصب تمام ويژوال استوديو دات نت بهمراه تمامی مستندات بر روی يک ماشين با دارا بودن 256 مگابايت حافظه اصلی، سرعت 650 مگاهرتز و دوازده گيگابايـت هارد ديسک ، حدود يک ساعت طول خواهد کشيد .
مرحله دهم : پس از اتمام مرحله قبل ، با انتخاب گزينه Service Release ، بررسی لازم در خصوص بهنگام سازی انجام می گيرد . اين عمليات از طريق اينترنت انجام خواهد شد . در اين زمينه به يک خط پرسرعت و مطمئن نياز خواهد بود .

یه ساعت آنالوگ زیبا

این برنامه ی ساعت آنالوگه که شاید خیلی به کارتون بیاد

مثلا برای زیبایی محیط کاری

ساعت آنالوگ

حجم = ۵۸ کیلوبایت

دانلود

آموزش زبانهای برنامه نویسی  

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

برخی از سرفصل های این کتاب عبارتند از:

1.       آموزش Pascal

2.       آموزش زبان برنامه نویسی Sql Server

3.       آموزش DirectX-Graphic

4.       آموزش مقدماتی Visual Basic.net

5.       زبان برنامه نویسی java script

6.       و...

حجم=1.2مگابایت

پسورد فایلها: www.softgozar.com        

دانلود

برگرفته از ساف گذر

برنامه ماشین حسابCalculator

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

حجم=

دانلود


برنامهZipSearch 1.2.1 * جستجوی فایل نام و محتوا را در سیستم فایل و پستی فایلها

برای جستجوی تمام فایل ها وبهتر از جستجوگر ویندوز

حجم=198کیلوبایت

دانلود


 

برنامهSaveText -- توابع LoadText برای کادر]

 نمونه ای از 'SaveText' -- 'توابع LoadText' برای TextBoxes.It آسان است برای استفاده از آثار و هموار. من نیاز شما 'نظرات' را فراموش کرده ام و هرگز ارزش گذاری

حجم=5کیلوبایت

دانلود

برنامه تعییر پس زمینه میز کار با امکانات اضافه

VB6 تعویض تصویر زمینه با برخی از tweaks -- *. jpg و *. bmp بزرگ ، کوچک شدن و یا تلنگر تصویر ، تصویر حرکت چپ راست بالا به پایین با عملکرد مرکز می شود. سپس تصویر جاری را به تصویر زمینه را ذخیره کنید.

حجم=64کیلوبایت

دانلود

برنامه ي زوم مناطق API

این برنامه مناطقAPI را زوم مي كند و شكل ها را به هم وصل مي كند

حجم=۲۵كيلو بايت

دانلود

برنامه فرم بدون قاب movible

این کد alows شما را به حرکت اشکال را نشان می دهد این frams با تمام سیستم عامل ویندوز compadible است.

حجم=۲۵کیلوبایت

دانلود

برنامه رنگ نوار پیشرفت

این برنامه اگر در ان یک مقدار وارد کنید به همان مقدار ان نوار رنگ می شود

حجم=3کیلوبایت

دانلود

برنامه کد اسکی

این برنامه که محیط آن حالت داس است که با فشوردن هر کلیک کد اسکی آن را نمایش می دهد

حجم=۴۷کیلو بایت

دانلود

 

برنامه جعبه رنگ

این برنامه ترکیبی از دو رنگ که در کنار فرم است را در کمتر از یک ثانیه نشان می دهد برنامه جالبی است

حجم=19کیلوبایت

دانلود

آموزش ويژوال بيسيک

عنوان اثرآموزش ويژوال بيسيک

موضوعبرنامه نويسي                                                                                  

فرمت      :  Adobe Acrobat Reader .PDF



                                                               دانلود