تبليغاتX
Iranian Technology
 
آموزش برنامه نویسی
 
 
آموزش ویژوال بیسیک و ... برای دیدن تمامی مطالب به آرشیو ماهانه مراجعه کنید
 

با سلام.

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

امروز هم برای اولین پستم، اینجا، آموزش ساخت یک Activex یا کامپوننت خیلی خیلی ساده رو که خودم ساختم میذارم، البته توی این آموزش فقط میخوام بگم که شما خودتون هم خیلی راحت میتونین با VB ، کامپوننت و Activex مورد نیازتون رو بسازین و هیچ ارزش دیگه ای نداره .

توی این تمرین ما قرار هست که یک به اصطلاح کنترل یا همون کامپوننت که ساعت رو به ما نشون میده و ما میتونیم در زمان اجرا با کلیک راست روی اون، رنگ پشت زمینه، نوع قلم و رنگ قلم رو تغییر بدیم، بسازیم.

برای دیدن تمرین روی ادامه مطلب کلیک کنین.

به وبلاگ خودم هم یه سری بزنین. آموزش فتوشاپ، فلش، مایا، VB و غیره.

با نظراتون به بهتر شدن وبلاگ کمک کنید.


ادامه مطلب
 |+| نوشته شده در  یکشنبه بیست و یکم مرداد 1386ساعت 0:25  توسط حسین  | 
سلام بچه ها از کلیه افراد برنامه نویسی که علاقه دارن در این وبلاگ مطالبی رو بنویسن اعلام همکاری میشود . فقط کافیه یه نظر کوچولو بدید.

در ضمن پست های پاین رو آپدیت کردم. نظرتون رو را جع به پست پایین بگین.


ادامه مطلب
 |+| نوشته شده در  پنجشنبه یازدهم مرداد 1386ساعت 12:26  توسط علی  | 

با سلام خدمت تمام بروبچ گل ایران.
از اینکه یه چند روزی آپ نکردم شرمنده .

اول از همه یه فایل OCX برای دانلود براتون گذاشتم که خیلی به کارتون میاد. کار این فایل OCX اینه که شما میتوانید با اون برنامه های خودتون رو با ظاهری بسیار زیبا درست کنین.
اینم لینک دانلودش >> بفرماید دانلود کنید


معرفی یه تابع API کاربردی:

این تابع در هنگام بارگذاری فرم شما  برنامه شما را به صورت انیمیشن باز میکنه که خیلی جالبه.!!
برای مثال در قسمت جنرال پنجره کدها کدهای زیر رو بنویسید:

Private Declare Function AnimateWindow Lib "User32.dll"(ByVal  hWnd as Long ,ByVal_
dwTime As Long , Byval dwFlags as Long) as Boolean

Private Const  AW_HOR_POSITIVE = &H1
Private Const  AW_HOR_NEGATIVE = &H2
Private Const  AW_VER_POSITIVE = &H4
Private Const  AW_VER_NEGATIVE = &H8
Private Const  AW_CENTER = &H10
Private Const  AW_HIDE = &H10000
Private Const  AW_ACTIVATE = &H20000
Private Const  AW_SLIDE = &H40000
Private Const  AW_BLEND = &H80000

حالا در روال Form_Load کدهای زیر رو بنویسید.

Private Sub Form_Load

AnimateWindow  Me.hWnd , 1000 , AW_CENTER
Me.Cls

End Sub

حالا یک دکمه فرمان(Command1) روی فرم خودتون قرار بدین سپس کدهای زیر رو بنویسید.

Private Sub Command1_Click

AnimateWindow  Me.hwnd  , 1000 , AW_CENTER  OR  AW_HIDE

End

End Sub

حالا برنامتون رو اجرا کنین و حالشو ببرین.


بستن یک پنجره خاص با ویژوال بیسیک مثلا My Computer.
برنامه ویژوال بیسیک رو باز کنید . سپس روی فرم خودتون یک جعبه متن (TextBox) و یک تایمر(Timer1) ویک عدد دکمه فرمان(Command1) قرار دهید. خالا از منوی Project گزینه ViewCode را بزنید تا پنجره کدها باز شود. در قسمت جنرال کدهای زیر را بنویسید:

Private Declare Function FindWindowA Lib "User32.dll"(ByVal lpClassName as String , ByVal lpWinowName as String ) as Long

Private Declare Function SetForegroundWindow Lib "User32.dll"(byVal hWnd as Long)as Long

خوب حالا روی دکمه فرمان (Command1) دوبار کلیک کنید و کدهای زیر رو بنویسید:

Private Sub Command1_Click

Timer1.Interval = 250

End Sub

خوب حالا روی تایمر دوبار کلیک کنید و قطعه کد زیر رو بنویسید:

Private Sub Timer1_Timer

Temp = FindWindowA(vbNullString , Text1.Text)  'X
If Temp <> 0 Then
SetForegroundWindow Temp
SendKeys "%{F4}"        'X
End If

Timer1.Interval = 0
End Sub

خوب میدونید که ما در ابتدا دو تا تابع API رو معرفی کردیم که کار این توابع به این صورته:

تابع FindWindowA همان طور که از شکل و قیافش معلومه نام و عنوان یک پنجره (Window) رو میگیره و در عوضش هندل اون پنجره که یک عدد صحیح است رو به ما میده.
تابع SetforegroundWindow هندل یک پنجره رو میگیره و در عوض اون پنجره رو برای ما فعال میکنه.

شاید شما با تابع SendKeys آشنا نباشید ( مقدماتی ها). این تابع مانند صفحه کلید عمل میکنه به طوری که در مثال بالا علامت % به جای کلید Alt فشرده میشه و {F4} هم کلید F4 رو میزنه که نتیجه بسته شدن پنجره فعال است.

امید وارم با این توضیحات درهم برهم من مطلب و فهمیده باشین!!!

حالا برنمتون رو اجرا کنید و در جعبه متن عبارت My Computer رو وارد کنید . حالا یک پنجره از My Computer رو باز کنید . روی دکمه فرمان برنامتون کلیک کنید و حالشو ببرید.



دوباره میریم سراغ FileSystemObject یا همون FSO :

در پست های قبلی یه مقدار درباره شئ FSO صحبت کردم اما دراینجا دو تا موضوع دیگه رو میگم که قبلا نگفته بودم.!!

موضوع اول: چگونگی به دست آوردن مسیرهای Windows , Temp , System32 به کمک شئ FSO . شما اگه پست قبلی من رو خونده باشید میدونید که چطور میشه از امکانات (FSO(FileSystemObject استفاده کرد اما من در اینجا با ذکر یک مثال به شما آموزش میدم که چطور از امکانات FSO استفاده کنید.

ویژوال بیسیک رو باز کنید و یک پروژه جدید از نوع استاندارد درست کنید. حالا یک یک دکمه فرمان(Command1) روی فرم قرار دهید و بعد از دوبار کلیک کردن بر روی دکمه فرمان قطعه کد زیر رو بنویسید:

Private Sub Command1_Click

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") 'X
MsgBox  FSO.GetSpecialFolder(0)   'X
Set FSO = Nothing

End Sub

همون طور که می بینید در خط دوم یک متغیر به نام FSO تعریف کردیم . در خط سوم با کمک تابع CreateObject شئ FSO را برای دسترسی به امکاناتش فراخوانی کردیم. در خط چهارم با کمک جعبه پیام مسیر پوشه های مهم سیستم عامل را به نمایش گذاشتیم.در خط آخر نیز فضای اختصاص داده شده به شئ FSO را آزاد کردیم.

توجه: همان طور که در قطعه کد بالا مشاهده می کنید در خط MsgBox FSO.GetSpecialFolder عدد صفر(0) را با یک رنگ دیگر نوشتم . شما می توانید اعداد ۱ و ۲ را نیز امتحان کنید و حالشو ببرید.

 

موضوع دوم : پاک کردن فایل ها و فولدر ها به کمک شئ FSO که در ادامه توضیح خواهم داد.

۱ - پاک کردن فایل ها :
برای اینکه شما بتوانید با کمک شئ FSO فایلی را پاک کنید باید به این صورت عمل کنید:
یک TextBOX و یک Command روی فرم خود قرار دهید سپس بعد از دوبار کلیک کردن بر روی دکمه فرمان کدهای زیر رو به پروژه تون اضافه کنید:

Private Sub Command1_Click

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")  'X
FSO.DeleteFile  Text1.Text 
set FSo = Nothing

End Sub

حالا برنامتون رو اجرا کنین و با وارد کردن مسیر یک فایل در تکست بوکسی که در روی فرمتون قرار داره و بازدن دکمه فرمان اون فایل رو از روی هارد دیسکتون محو نابود کنید.!!!

بازم توجه: مسیر فایلی که در TextBox می نویسید باید مثل این باشد: C:\Ali.txt یعنی حروف بزرگ و کوچک رعایت شود و فرمت نیز ذکر شود.


بازم یه کار جالب دیگه:

عوض کردن تصویر پشت زمینه با ویژوال بیسیک:

در اینجا ما به کمک یک تابع API به نام SystemParametersInfo تصویر پشت زمینه(یا همون Desktop )رو عوض میکنیم. خوب برای این کار به این صورت پیش برید:
ابتدا به پروژه جدید از نوع استاندارد باز کنید . یک عدد تکست بوکس (Text1) و یک عدد دکمه فرمان(Command1) به فرم خود اضافه کنید سپس کدهای زیر رو در پنجره کدها(منوی Project > ViewCode ) بنویسید:

Private Declare Function SystemParametersInfo Lib "User32" Alias "SystemParametersInfoA"(ByVal uAction As Long, ByVal uParam As Long , ByVal lpvParam as Any , ByVal fuWinIni as Long) as Long

Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_UPDATEINIFILE = &H1

Private Sub Command1_Click

If Text1.Text <> "" Then
SystemParametersInfo SPI_SETDESKWALLPAPER , 0 , Text1.Text , SPIF_UPDATEINIFILE
Else
MsgBox "Error" , vbCritical + vbOkOnly
End If

End Sub

خوب حالا برنامتون رو اجرا کنید. در تکست بوکس (Text1) روی فرم بنویسید:
C:\Windows\Web\Wallpaper\Bliss.bmp
و بعد دکمه فرمان (Command1) را کلیک کنید تا تصویر پشت زمینه (DeskTop) عوض بشه.

خوب چطور بود...

هی تو دلت نگو در قسمت نظرات وبلاگ بگو!!

 


پاک کردن سطل آشغال :

خوب در اینجا ما به کمک یه تابع API سطل زباله رو پاک میکنیم . نام تابع API تابع SHEmptyRecycleBin هست که جزء توابع کتابخانه قدرتمند Shell می باشد.
ابتدا یک پروژه حدید از نوع استاندارد باز کنید . حالا یک عدد دکمه فرمان (Command1)روی فرم خود قرار دهید سپس کدهای زیر رو در داخل پنجره کدها(View Code ) بنویسید.

Private Declare Function SHEmptyRecycleBin Lib "Shell32.dll" Alias "SHEmptyRecycleBinA"(Byval hWnd as Long , ByVal pszRootPath as String,ByVal dwFlags as Long) as Long

Private Sub Command1_Click

On Error Resume Next
SHEmptyRecycleBin 0 , "" , &H2

End Sub

حالا برنامه را اجرا کنید . بعد از زدن دکمه فرمان(Comand1) اخطار آیا مطمئن هستید فایل ها پاک شوند به شما نمایش داده میشود .


ساده ترین راه برای Always on Top ( فرم برنامه همیشه فعال باشد) کردن فرم برنامه:

در اینجا ما به کمک تنها یک خط کد فرم خود را در حالت Always On Top قرار می دهیم البته به غیر از تعریف تابع میشه یک خط!!

نام تابع هست :>:> BringWindowToTop که از جمله توابع کتابخانه User32 است.
برای این کار در روی فرم خود یک عدد تایمر قرار بدید و خاصیت Interval تایمر رو برابر ۵۰ کنید. حالا کدهای زیر رو در پنجره کدها بنویسید:

Private Declare Function BringWindowToTop Lib "User32.dll"(ByVal hWnd as Long)as Long

Private Sub Timer1_Timer

BringWindowToTop Form1.hWnd

End Sub

حال کردین ها !!

حال نکردین؟؟

 

 |+| نوشته شده در  پنجشنبه یازدهم مرداد 1386ساعت 12:2  توسط علی  | 
 
  بالا  

Free Counter