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

Visual Basic 6

دستور Shell

دستور Shell

 
توسط اين دستور مي تونيد فايلي را در وي بي اجرا كنيد .آدرسي كه جلوي اين دستور نوشته مي شه اجرا ميشه .شكل اين دستور به اين صورت است

Shell ProgramPath,RunModel

در آرگومان اول مسير فايل نوشته مي شود ودر آرگومان دوم مدلي كه برنامه بايد اجرا شود.در اين ارگومان از آرگومان هاي زير استفاده مي گردد

vbHide=0 vbMaximizedFocus=1 vbMinimizedFocus=2 vbMinimizedNoFocus=3 vbNormalFocus=4 vbNormalNoFocus=5

در مدل صفر برنامه به صورت پنهان ظاهر مي شود.براي مواقعي كه مي خواهيم عمل اجرا را از ديد كاربر پنهان كنيم .در مدل 2 برنامه اجرا مي شود به صورت كمينه(روي منوي استارت-مينيمايز شده)وفاكس هم روي ان مي رود يعني اين كه بعد از اجرا هي زرد و آبي مي شود تا كار بر روي آن كليك كند.مدل 3برنامه به

صورت ينيمايز -كمينه اجرا مي شود زرد وآبي نمي شود (معمولي-فاكس رويش نمي رود).مدل 1برنامه به صورت تمام صفحه اجرا شده فاكس هم روي آن مي رود(زرد و ابي مي شود).در مدل 4برنامه با اندازه پيش فرض اجرا مي شودوفاكس را هم مي گيرد.درمدل 5برنامه با اندازه معمولي اجرا شده و فاكس نمي گيرد

كار برد مهم ديگر شل اجرا فايل هاي معمولي با يك برنامه اجرايي است مثل اجراي يك متن در نت پد.براي اين كار نام فايل را بايك فاصله از نام فايل مي نويسيم

Shell "NotPath.Exe"+" C:\Text1.txt" ,4

توجه داشته باشيد كه براي اجراي فايل بايد نام ومسير فيل را با يك كاراكتر فاصله بنويسيد

اگر فاصله ندهيد قطعآ خطا انجام مي شود.اگر فايلي در مسير برنامه تان كپي كرده ايد اين كد را بنويسيد

shell "notpath.exe"+(app.path+"\"+"your File Name")

كلاسي است كه به برنامه اشاره مي كند ومي توان اطلاعات برنامه مانند مسير-نام فايل اجرائي-كمپاني وغيرهapp

براي نوتپد ويندوز چون در درايو ويندوز قرار دارد احتياج به تايپ مسير كامل نيست همچنين اگر شما فايلي را از پوشه

اجرا كنيد به مسير كامل نياز نيست برنامه اي مانند كامند پرامپت بازي ها واسكرين سيور ها در اين پوشه system32

است.مثال hell "cmd.exe",4

اجراي يك فولدر با شل

واقع در درايو ويندوز را به همراه نام فيل اجرا مي كنيمexplorer.exeبراي اين كار فايل اجرائي

shell "explorer.exe"+" c:\windows" ,3

با اجراي اين برنامه پوشه ويندوز اجرا مي شود روش بالا در سي دي هاي اتوران استفاده ي زيادي دارد

Shell "rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl "كادر حذف برنامه ها
Shell "rundll32.exe shell32.dll,Control_RunDLL desk.cpl"كادر تغيير پس زمينه
Shell "rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl"كادر اينتر نت
Shell "rundll32.exe shell32.dll,Control_RunDLL modem.cpl"كادر مودم
Shell "rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl"كادر صدا
Shell "rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl"كادر شبكه
Shell "rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl"كادر پاور-برق
Shell "rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl"كادر سيستم
Shell "rundll32.exe shell32.dll,Control_RunDLL telephon.cpl"كادر تلفن
Shell "rundll32.exe shell32.dll,Control_RunDLL timedate.cpl"كادر ساعت

كتابخانه وسيع Shell

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal_ lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal_ nShowCmd As Long) As Long

كد هاي زير را هر جا استفاده كنيد جواب مي دهدالبته بهد از اينكه كد بالا را در اولين خط فرم نوشتيد

Shell "arp"
Shell "drvspace"
Shell "drwatson"
Shell "explorer"براي my document
Shell "freecell"
Shell "ftp"براي تنظيم اف تي پي
Shell "ipconfig"كادر آي پي
Shell "mplayer"مديا پلير
Shell "mshearts"
Shell "nbtstat"
Shell "netstat"
Shell "calc"ماشين حساب
Shell "notepad"نوت پد
Shell "packager"
Shell "pbrush"نقاشي
Shell "ping"
Shell "regedit"ريجيستري
Shell "route"روت
Shell "scandskw"اسكن ديسك
Shell "scanregw"اسكن رگ
Shell "setdebug"كخك تري تنظيم ويندوز
Shell "sigverif"
Shell "cdplayer"سي دي پلير
Shell "sndrec32"ضبط صدا
Shell "sndvol32"تنظيم ولوم صدا
Shell "sol"همون سول
Shell "taskman"وضعيت سي پي يو
Shell "telnet"تلفن
Shell "vcmui"
Shell "winfile"
Shell "winipcfg"
Shell "winmine"
Shell "winrep"
Shell "charmap"كاراكتر مپ
Shell "winver"
Shell "write"وورد پد
Shell "wscript"
Shell "cleanmgr"كلنر پاك كننده اشغال درايو
Shell "control"كنترل پنل
Shell "cvt1"
Shell "defrag"دفراگمنت
Shell "drvspace" فضاي خالي ديسك

اجراي فايل اينترنت با Shell
shell "Explorer.exe"+" http://www.juggle.blogfa.comبه يك سايت
shell "explorer.exe"+" maileto:juggle7000@yahoo.com"كادر ارسال ايميل
shell "explorer.exe"+" yor HTML File.html"كادر اجراي يك فايل اينترنت از حافظه
shell "explorer.exe"+" file://www.سايت شما.com/11.zip"كادردانلود يك فايل از اينترنت

+ نوشته شده در  چهارشنبه 1389/12/18ساعت 21:57  توسط امیرحسین  | 

ذخیره عکس در پایگاه داده Access

Private Sub CmdNew_Click()
 Adodc1.Recordset.AddNew
End Sub
Private Sub CmdNew_Click()
 CommonDialog1.Filter = "(*.JPG)|*.JPG"
  If CommonDialog1.Filename <> "" Then
   Image1.LoadPicture = (CDMain.Filename)
  End If
End Sub
 
Private Sub CmdSave_Click()
 Call CmdOpen
 Adodc1.Recordset.Update
 Adodc1.Refresh
End Sub

ذخیره عکس در پایگاه داده باعث بالا رفتن حجم پایگاه داده میشه و از سرعت دسترسی به اطلاعات یک رکورد کاسته میشه. پس توصیه میشه که عکس رو در پایگاه داده ذخیره نکنید!
+ نوشته شده در  سه شنبه 1389/12/17ساعت 19:17  توسط امیرحسین  | 

استفاده از شی ء File System Object در ویژوال بیسیک

این شیء قابلیت کار با Drive , Folder , File , TestStream را دارد یعنی شما می توانید پوشه و یا فایلی را از مسیری به مسیر دیگر کپی , حذف و یا منتقل کنید و هم چنین می توانید پو شه ای را در مسیر مورد نظر ایجاد کنید .
برای افزودن این شیء به برنامه تان از منوی Project آیتم Refrencese را انتخاب کنید و از آن آیتمWindows Script Host Object Model را تیک می زنید . اکنون نوبت به تعریف یک متغیر از نوع ّFso می باشد.
Dim Fso As New FileSystemObject

حال اگر متدهای Fso را ببینید به قابلیت های ویژه آن پی خواهید برد
.
+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:50  توسط امیرحسین  | 

آموزش کامل نحوه ایجاد ارتباط بین VB6 و Crystal Report 10 با نکات مهم

من خودم مدتهای زیادی دنبال این آموزش بودم و به خیلی جا ها سر زدم.
این آموزش كمك بسیاری به من كرد تا بتونم ارتباط درستی بین ویژوال بیسیك و كریستال ریپورت 10 ایجاد كنم.

لینک دانلود

+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:48  توسط امیرحسین  | 

آموزش کامل کار با کنترل Register Control.ocx برای مدیریت رجیستری

این كنترل یه شما كمك خواهد كرد كه به راحتی با رجیستری كار كنید.
كلید بسازید ، كلید را حذف كنید و مقدار آن را عوض كنید  و ....
این كنترل به همراه آموزش استفاده از آن را می توانید دانلود كنید.

منبع: سایت برنامه نویس

لینک دانلود

+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:45  توسط امیرحسین  | 

ارتباط با پورت سریال

شاید این سوال خیلی ها باشه كه بخوان با ویژوال بیسیك به پورت سریال كامپیوتر دسترسی داشته باشن.
اطلاعات ارسال و دریافت كنند.
برای این منظور نیاز به یك كامپوننت داریم به نام microsoft com control 6.0 كه می توانید از منوی project , سپس component به برنامه اضافه كنید.
اما كدهای زیر تنظیمات ابتدایی را برای آماده سازی این كامپوننت نشان میدهد:

ms.CommPort = 1
ms.PortOpen = True

برای ارسال اظلاعات هم می توانید از متد output , برای دریافت اطلاعات از متد input استفاده كنید.
+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:43  توسط امیرحسین  | 

ارتباط ویژوال بیسیك با اكسل

چگونگی ارتباط ویژوال بیسیك و اكسل مایكروسافت:

در ابتدای امر باید از منوی project و سپس references گزینه Microsoft Excel 11.0 Object Library را انتخاب كنید.
سپس باید دو متغیر به شرح ذیل از نوع workbook و worksheet در Form_Load معرفی كنید:

    Dim ss As Excel.Workbook
    Dim dd As Excel.Worksheet
سپس باسد اسن دو متغیر را با یك فایل اكسل set كنید:

Set ss = Workbooks.Open(App.Path & "\log.xls")
   Set dd = ss.Worksheets.Item(1 )

حال می توانید تمامی متد های متداول را در متدهای ss و dd ببینید.
به عنوان مثال می توانید عدد 5 را در خانه A6 به شرح ذیل قرار دهید:

dd.Range("A6" ) =5
در پایان هم می توانید فایلتان را save كنید و ببندید:

ss.Save
    ss.Close True
حال با باز كردن فایل اكسلتان به صورت دستی می توانید تغییرات را مشاهده كنید.
+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:41  توسط امیرحسین  | 

كتاب آموزشی VBA

در بسته مایكروسافت آفیس برای استفاده بهتر از قابلیت های نرم افزار قسمتی برای برنامه نویسی به زبان VB در آن قرار داده شده است كه به این زبان به اختصار VBA گفته می شود.
می توانید كتاب آموزشی آن را دانلود كنید.

لینک دانلود


+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:38  توسط امیرحسین  | 

باز كردن صفحه وب با VB

شما می تونید با اون از طریق Internet Explorer به سایت مورد نظرتون از داخل برنامه خودتون وارد بشید :
این كد را در قسمت Form / General بنویسید

(Private Sub OpenUrl (URLName As String
Dim objIE As Object
Set objIE = CreateObject ("internetexplorer.application ")
objIE.Visible = True
objIE.Navigate (Trim(URLName))
End Sub


بعد یك Command و یك Textbox روی صفحه بذارید و خصوصیت Name اونها رو به ترتیب cmdGOو txtURLName قراربدید ، بعد هم می تونید با نوشتن كد زیر در رویداد Click مربوط به cmdGo به هر صفحه ای كه در ابنترنت دوست دارید دسترسی داشته باشید. به همین سادگی !


( )Private Sub cmdGO_Click
Call OpenUrl (txtURLName)
End Sub


در این كد شما از مدل شی ء Internet Explorer استفاده كردید كه ما از دوصفت اون یعنیVisible برای نمابش IE و Navigate برای فراخوانی URL مورد نظر استفاده كردیم.

+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:36  توسط امیرحسین  | 

Eject فلش مموری

با قطعه كد زیر می توان نام درایو فلش مموری را به تابع داد و تابع فلش مموری را Eject میكند.در واقع همان كاری كه ما هنگام خارج كردن فلش مموری از سیستم انجام می دهیم و برق usb را قطع می كنیم.

Private Declare Function CM_Get_DevNode_Status Lib "setupapi.dll" _
(lStatus As Long, lProblem As Long, ByVal hDevice As Long, _
ByVal dwFlags As Long) As Long

Private Declare Function CM_Get_Parent Lib "setupapi.dll" _
(hParentDevice As Long, ByVal hDevice As Long, ByVal dwFlags As Long) As Long

Private Declare Function CM_Locate_DevNodeA Lib "setupapi.dll" _
(hDevice As Long, ByVal lpDeviceName As Long, ByVal dwFlags As Long) As Long

Private Declare Function CM_Request_Device_EjectA Lib "setupapi.dll" _
(ByVal hDevice As Long, lVetoType As Long, ByVal lpVetoName As Long, _
ByVal cbVetoName As Long, ByVal dwFlags As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long

Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _
Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, _
ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long

Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias _
"RegQueryValueExA" (ByVal hKey As Long, ByVal lpszValueName As String, _
ByVal lpdwReserved As Long, lpdwType As Long, lpData As Any, _
lpcbData As Long) As Long

Private Sub Command1_Click()
    '~~> Type the Name of the USB Drive
    Call SafelyRemove("h:")
   ' Label1.Caption = "DONE"
End Sub
'~~> Safely remove USB flash drive
Public Function SafelyRemove(ByVal pstrDrive As String) As Boolean
    Const DN_REMOVABLE = &H4000
    Dim strDeviceInstance As String, lngDevice As Long, lngStatus As Long
    Dim lngProblem As Long, lngVetoType As Long, strVeto As String * 255

    pstrDrive = UCase$(Left$(pstrDrive, 1)) & ":"
    strDeviceInstance = StrConv(GetDeviceInstance(pstrDrive), vbFromUnicode)

    If CM_Locate_DevNodeA(lngDevice, StrPtr(strDeviceInstance), 0) = 0 Then
        If CM_Get_DevNode_Status(lngStatus, lngProblem, lngDevice, 0) = 0 Then
            Do While Not (lngStatus And DN_REMOVABLE) > 0
                If CM_Get_Parent(lngDevice, lngDevice, 0) <> 0 Then Exit Do
                If CM_Get_DevNode_Status(lngStatus, lngProblem, lngDevice, 0) _
                <> 0 Then Exit Do
            Loop
            If (lngStatus And DN_REMOVABLE) > 0 Then SafelyRemove = _
            (CM_Request_Device_EjectA(lngDevice, lngVetoType, _
            StrPtr(strVeto), 255, 0) = 0)
        End If
    End If
End Function

Private Function GetDeviceInstance(pstrDrive As String) As String
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const KEY_QUERY_VALUE = &H1
    Const REG_BINARY = &H3
    Const ERROR_SUCCESS = 0&

    Dim strKey As String, strValue As String, lngHandle As Long
    Dim lngType As Long, strBuffer As String, lngLen As Long
    Dim bytArray() As Byte

    strKey = "SYSTEM\MountedDevices"
    strValue = "\DosDevices\" & pstrDrive
    If RegOpenKeyEx(HKEY_LOCAL_MACHINE, strKey, 0&, KEY_QUERY_VALUE, _
    lngHandle) = ERROR_SUCCESS Then
        If RegQueryValueEx(lngHandle, strValue, 0&, lngType, 0&, lngLen) = 234 Then
            If lngType = REG_BINARY Then
                strBuffer = Space$(lngLen)
                If RegQueryValueEx(lngHandle, strValue, 0&, 0&, ByVal _
                strBuffer, lngLen) = ERROR_SUCCESS Then
                    If lngLen > 0 Then
                        ReDim bytArray(lngLen - 1)
                        bytArray = Left$(strBuffer, lngLen)
                        strBuffer = StrConv(bytArray, vbFromUnicode)
                        Erase bytArray
                        If Left$(strBuffer, 4) = "\??\" Then
                            strBuffer = Mid$(strBuffer, 5, InStr(1, _
                            strBuffer, "{") - 6)
                            GetDeviceInstance = Replace(strBuffer, "#", "\")
                        End If
                    End If
                End If
            End If
        End If
        RegCloseKey lngHandle
    End If
+ نوشته شده در  چهارشنبه 1389/11/27ساعت 9:34  توسط امیرحسین  | 

نرم افزار پرتابل ویژال بیسیک با حجم خوب:

 

لینک دانلود

حجم فایل: ۵.۷۹ مگا بایت

پسورد فایل:www.portaldownload.ir

منبع:www.portaldownload.ir

+ نوشته شده در  دوشنبه 1389/10/13ساعت 9:20  توسط امیرحسین  | 

 چند فایل PDF مفید و جالب برای یادگیری ویژال بیسیک:

 

لینک دانلود  حجم فایل: ۹۱۵ کیلوبایت   منبع:www.ehsani.org/jooti

 

10 فایل دیگر از 10 فصل ویژال بیسیک:

 

لینک 1   حجم: 683 کیلو بایت

لینک 2   حجم: 483 کیلو بایت

لینک 3   حجم: 402 کیلو بایت

لینک 4   حجم: 1023 کیلو بایت

لینک 5   حجم: 767 کیلو بایت

لینک 6   حجم: 438 کیلو بایت

لینک 7   حجم: 669 کیلو بایت

لینک 8   حجم: 365 کیلو بایت

لینک 9     حجم: 335 کیلو بایت

لینک 10  حجم: 262 کیلو بایت

منبع:www.IranMeet.com

+ نوشته شده در  پنجشنبه 1389/02/23ساعت 13:23  توسط امیرحسین  | 

كار با TreeView در ويژوال بيسيك

نحوه كار TreeView بدين صورت است كه هر آيتم درون TreeView، يك كليد براي منحصر به فرد شناخته شده دارد كه با استفاده از آن كليد ميتوان يك زير آيتم به آن اضافه كرد.
براي اضافه كردن يك ريشه (Root) به TreeView:
 

()Private Sub cmdAddIROT_Click
Dim S1 As String
("S1 = InputBox("Enter IROT text", "Add IROT
TreeView1.Nodes.Add , , S1, S1
End Sub

براي اضافه كردن زير آيتم، بايد ابتدا كليد آيتمي را كه مي خواهيم به آن زير آيتم اضافه كنيم را به عنوان پارامتر اول متد Add و سپس پارامتر دوم tvwChild و پارامتر بعدي كليدي كه مي خواهيم اين آيتم جديد داشته باشد مي ذاريم. ما اينجا مسير كامل آيتم پدر + جداكننده + متن آيتم را به عنوان كليد اين آيتم انتخاب كرده ايم تا يك رشته منحصر به فرد درآيد.
مثال:
()Private Sub cmdAddChild_Click
Dim S1 As String
("S1 = InputBox("Enter Child text", "Add child
TreeView1.Nodes.Add TreeView1.SelectedItem.Key, tvwChild, TreeView1.SelectedItem.FullPath + TreeView1.PathSeparator + S1, S1
End Sub
ما اينجا يك زير آيتم به آيتمي كه در حال حاضر در TreeView انتخاب شده است اضافه كرده ايم. دقت كنيد كه اگر در حال حاضر آيتمي در TreeView انتخاب نشده باشد، با پيام Object variable or With block not set مواجه خواهيد شد. پس On Error GoTo Hell !
+ نوشته شده در  دوشنبه 1389/02/06ساعت 20:39  توسط امیرحسین  | 

آموزش ویژال بیسیک از ابتدا تا انتها با ۲۰۰ مثال جالب:
 
 
حجم فایل:۶.۳ مگابایت
 
منبع:www.foxworld.ir
+ نوشته شده در  یکشنبه 1389/02/05ساعت 21:19  توسط امیرحسین  |