روابط عمومي تاپيك آموزش مصور ويژال بيسيك

saalek110

Well-Known Member
در ابتدا از مدير تالار تشكر مي كنم كه تاپيك ((آموزش ويژوال بيسيك)) را به شكل ثابت درآوردند.
طلب اجر دارم براي ايشان . و آرزوي كاميابي
---------------------------
ايده تاپيك ارتباط با دوستان
در اين جا من مي تونم از كمك هاي فكر خواننده استفاده كنم.
روش آموزش را تغيير دهم.
از منابعي كه دوستان در اختيار دارند مطلع شوم .
-------------
و مهم تر:
من مدت زيادي با شما خواهم بود.
ارتباط عاطفي و فكري لازمه جلوگيري از خشك بودن محيط كار است..
-------------
از اهداف من اين است كه تاپيك ((آموزش مصور ويژوال بيسيك)) براي كساني باشه كه با سرچ دنبال مطلبي آموزش مي گردند. مي خواهم بتواند كمكي باشد به نوآموزان..
-------------
منتظر هر نوع نظر شما هستم.
 
آخرین ویرایش:

MnavidM

Active Member
با سلام.

من خیلی زیاد با VB کار نکردم اما در جواب به سوال شما :

برای اجرای برنامه های VB بر روی سیستم ها 2 صورت کلی وجود داره .

1- نصب VB روی اون سیستمی که می خوایم برنامه(exe) روش اجرا بشه .

2- وقتی روی سیستمی که VB نداره برنامه رو اجرا می کنید یه سری فایل می خواد که شما باید

اون ها رو خودتون از رو سیستمتون(که VB روش هست) پیدا کنید و بعد روی اون یکی سیستم کپی کنید.

البته فکر کنم برنامه انستال شیلد مخصوص VB هم این کار رو خودش بکنه , اما زیاد در این مورد نمی دونم .

اگر دوستان اطلاعاطی در این مورد دارند بگن :wink:
 

saalek110

Well-Known Member
تشكر

پس من روي قسمتهاي بعدي كار مي كنم تا دوستان اين قضيه را بگويند.
.
 
آخرین ویرایش:

saalek110

Well-Known Member
ادامه كار

كمي مونده تا معرفي محيط برنامه تمام بشه تا وارد كدنويسي بشيم
بعد كمي بيسيك كار مي كنيم و بعد وارد برنامه نويسي مدرن مي شيم.
-----------

فعلا سرعت كار كمه ولي مقدمات كه تمام بشه شتاب افزايش خواهد يافت
اميدوارم حمايت دوستان با من باشه تا اين كار گروهي را به زيبايي ادامه دهيم
 
آخرین ویرایش:

saalek110

Well-Known Member
ادامه راه

بايد ديد آموزش اصولي چه مسيري را مي بايست طي كنه. همون كارو بايد بكنيم.
اضافه و كم گفتن آسيب رسان است.
تابحال هر چه گفته شده، لازم بوده. و بعدا هم بايد ديد چه چيزهايي در ارجعيت است.
 
آخرین ویرایش:

saalek110

Well-Known Member
please

دوست خوب اگر ميشه حلقه ها و شرط ها را شما شروع كنيد. من هر روز مي خوام اينا را بگم ولي مسلط نيستم. امروز كلي با دستورات
if & select
ور رفتم ولي چيزي حاصل نشد.
دست شما را مي بوسد. من در حال يادگيري ام.در ويژوال بيسيك. به محيطش آگاه نيستم.
اختيار با شماست. خودتان تصميم بگيريد. عجله اي هم نيست. امروز مي خواستم مقدمه اي براي تابع بگم. آن مثال خيلي ساده كه دكمه اي را مي پراند را نوشتم تا لزوم تابع را براي وقتي دكمه ها زياد مي شوند بگم. ولي در دستور
if
گير كردم. همه اين توضيحات را نوشتم تا گراي خودم را بدم تا شما بهتر بعدا تصميم بگيريد.
و بقيه دوستان هم بدانند كه در كنار آنها من هم در حال ياگيري هستم.
 

saalek110

Well-Known Member
greating

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

saalek110

Well-Known Member
Doste گفت:
با سلام.

من خیلی زیاد با VB کار نکردم اما در جواب به سوال شما :

برای اجرای برنامه های VB بر روی سیستم ها 2 صورت کلی وجود داره .

1- نصب VB روی اون سیستمی که می خوایم برنامه(exe) روش اجرا بشه .

2- وقتی روی سیستمی که VB نداره برنامه رو اجرا می کنید یه سری فایل می خواد که شما باید

اون ها رو خودتون از رو سیستمتون(که VB روش هست) پیدا کنید و بعد روی اون یکی سیستم کپی کنید.

البته فکر کنم برنامه انستال شیلد مخصوص VB هم این کار رو خودش بکنه , اما زیاد در این مورد نمی دونم .

اگر دوستان اطلاعاطی در این مورد دارند بگن :wink:
سلام.
من دو تا ويندوز 98 دارم. با برنامه
os selector
اين دو را نصب كرده ام.
من در ويندوز اول(كه ويژوال بيسيك در آن نصب است) برنامه هاي اگزه اي با ويژوال بيسيك ساختم.
ولي
وقتي به ويندوز دوم رفتم ، ديدم آنها مي گويند فلان فايل
dll
را لازم دارند.
-----------------
من با خود فكر كردم به طور دستي اين فايلها را به آن ويندوز اضافه كنم.
پس ، دو فايل
[ltr]msvbvm60.dll
0leaut32.dll (zero - L - e - a - ...)[/ltr]
را به ((پوشه سيستم)) از ((پوشه ويندوز)) مربوط به ويندوزي كه ويژوال بيسيك در آن نصب نبود را ريختم. بهتر است بگويم آپديت كردم چون اين دو فايل قبلا هم آنجا وجود داشت. البته نمي توان هنگامي كه ويندوز در حال استفاده است فايل دوم را ريخت. چون ويندوز در حال استفاده از آن مي باشد. من اين كار را هنگامي انجام دادم كه ويندوز دوم در حال استراحت بود(يعني وقتي كه در ويندوز اول بودم) .
توجه: اين فايلها مخفي(هيدن) هستند پس ابتدا از حالت هيدن ويندوز را درآوريد.
========
نتيجه: با آپديت فقط همين دو فايل ، تمامي برنامه هاي ساخته شده توسط من در ويندوزي كه ويژوال بيسيك نصب نبود ، اجرا شد!!! تجربه جالبي بود. ممنون از مديريت انجمن به خاطر اين راهنمايي ارزنده..
.
 
آخرین ویرایش:

MnavidM

Active Member
با سلام.

قابل شما رو نداشت .

البته گاهی اوقات وقتی که از کامپوننت خاصی استفاده می کنید مثلا DbGrid نیاز دارید فایل های مربوط به اون رو هم به ویندوز اضافه کنید.

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

موفق باشید.
نوید.
 

saalek110

Well-Known Member
معرفي سايتهاي آموزش ويژوال بيسيك

در اين سايت در يك صفحه(بدون مراجعه به صفحات ديگر) به معرفي برنامه ويژوال بيسيك از ابتدا پرداخته

.
[View Entire Tutorial] ...را در پايين صفحه كليك كنيد.

=================
اموزش كامل از ابتدا تا انتها

آموزش كامل
در 22 درس
.
---------------------------------
آموزش كامل
در 46 درس
---------------------------------
.
.
 
آخرین ویرایش:

saalek110

Well-Known Member
سايتهاي سورس كد

MReza_Motaffaf گفت:
دوستان چون از همه شما عزيزان چيز هاي زيادي ياد گرفتم چند تا سايت باحال براي سورس كد ها مي فرستم اميد وارم لذت ببريد.
www.vbcenter.com
www.a1vbcode.com
www.worldofvb.com or .net
اگر هم مي دونستيد اشكالي نداره بذلريد ديگران بدونند
.
.
http://www.planet-source-code.com

=======================
نقل از :
http://www.counterbaz.mihanblog.com/Post-26.aspx
بهترین سایتهای سورس ویژوال بیسیک

مرتبط با : عمومي


http://www.freevbcode.com
http://www.vbcode.com
http://www.coderoom.com
http://www.vbaccelerator.com



نوشته شده توسط : سید مجید مدنی ساعت:10:22 تاریخ ارسال :دوشنبه ۰۸ خرداد ۱۳۸۵
 
آخرین ویرایش:

saalek110

Well-Known Member
از نويد جان - ميخك - مسعود - و تمامي دوستان ديگر ممنونم.
 
آخرین ویرایش:

saalek110

Well-Known Member
برنامه عكس گرفتن از صفحه با ويژوال بيسيك

Amin_vb گفت:
اين كد از صفحه نمايش يك تصوير مي‌گيرد و با فرمت bmp ذخيره مي‌نمايد شما مي‌توانيد با اين برنامه از صفحه نمايش يك كامپيوتر روي شبكه عكس بگيريد.اين تابع آدرسي براي ذخيره‌سازي فايل bmp از شما مي‌گيرد.



کد:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
  ByVal dwFlags As Long, ByVal dwExtraInfo As Long)


Public Function fSaveGuiToFile(ByVal theFile As String) As Boolean

Dim lString As String

On Error goto Trap
'تست وجود فايل
    If Dir(theFile) <> "" Then Exit Function

    'گرفتن كل تصوير
    Call keybd_event(vbKeySnapshot, 1, 0, 0)

      'گرفتن پنجره فعال
    'Call keybd_event(vbKeySnapshot, 0, 0, 0)
 
    SavePicture Clipboard.GetData(vbCFBitmap), theFile

fSaveGuiToFile = True
Exit Function

Trap:
'خطاها
MsgBox "Error Occured in fSaveGuiToFile. Error #: " & Err.Number & ", " & Err.Description

End Function


:p :p :p :p
تشكر
 

saalek110

Well-Known Member
پايين انداختن كومبو باكس

Amin_vb گفت:
براي پايين انداختن ComboBox در ويژوال بيسيك شما بايد ابتدا كد زير را در يك ماژول وارد نماييد.

کد:
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

سپس كد زير را اجرا نماييد تا ComboBox باز شود.

کد:
Private Sub Combo1_GotFocus()
   Const CB_SHOWDROPDOWN = &H14F
   Dim Tmp
   Tmp = SendMessage(Combo1.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&)
End Sub

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
موفق باشيد.
امين آقا . . .
:roll: :lol:
تشكر
 

saalek110

Well-Known Member
روش ساخت منو به صورت چند ستوني

Amin_vb گفت:
اين كد به شما اين امكان را مي‌دهد كه منو‌هايي به صورت چند ستوني در ويژوال بيسيك داشته باشيد. ابتدا يك دكمه به نام Command1 به فرم خود اضافه نماييد سپس با استفاده از ابزار منو سازي دو منو اصلي و 4 زير منو براي هريك درست كنيد سپس كد زير را در ماژول قرار دهيد.

کد:
Private Type MENUITEMINFO
      cbSize As Long
      fMask As Long
      fType As Long
      fState As Long
      wID As Long
      hSubMenu As Long
      hbmpChecked As Long
      hbmpUnchecked As Long
      dwItemData As Long
      dwTypeData As String
      cch As Long
End Type

Private Const MF_MENUBARBREAK = &H20& ' columns with a separator line
Private Const MF_MENUBREAK = &H40&    ' columns w/o a separator line
Private Const MF_STRING = &H0&
Private Const MF_HELP = &H4000&
Private Const MFS_DEFAULT = &H1000&
Private Const MIIM_ID = &H2
Private Const MIIM_SUBMENU = &H4
Private Const MIIM_TYPE = &H10
Private Const MIIM_DATA = &H20

Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal B As Boolean, lpMenuItemInfo As MENUITEMINFO) As Long
Private Declare Function SetMenuItemInfo Lib "user32" Alias "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal bool As Boolean, lpcMenuItemInfo As MENUITEMINFO) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

و در نهايت كد زير را در فرم برنامه خود قرار دهيد.


کد:
Private Sub Command1_Click()

    ' Splitting a menu here demonstrates that this can be done dynamically.
    Dim mnuItemInfo As MENUITEMINFO, hMenu As Long, hSubMenu As Long
    Dim BuffStr As String * 80   ' Define as largest possible menu text.
    
    hMenu = GetMenu(Me.hwnd)   ' retrieve menu handle.
    BuffStr = Space(80)
    With mnuItemInfo   ' Initialize the UDT.
           .cbSize = Len(mnuItemInfo)   ' 44
           .dwTypeData = BuffStr & Chr(0)
           .fType = MF_STRING
           .cch = Len(mnuItemInfo.dwTypeData)   ' 80
           .fState = MFS_DEFAULT
           .fMask = MIIM_ID Or MIIM_DATA Or MIIM_TYPE Or MIIM_SUBMENU
    End With

    ' Use item break point position for the '3' below (zero-based list).
    hSubMenu = GetSubMenu(hMenu, 0)
    If GetMenuItemInfo(hSubMenu, 2, True, mnuItemInfo) = 0 Then
       MsgBox "GetMenuItemInfo failed. Error: " & Err.LastDllError, , "Error"
    Else
       mnuItemInfo.fType = mnuItemInfo.fType Or MF_MENUBARBREAK
       If SetMenuItemInfo(hSubMenu, 2, True, mnuItemInfo) = 0 Then
          MsgBox "SetMenuItemInfo failed. Error: " & Err.LastDllError, , "Error"
       End If
    End If
    DrawMenuBar (Me.hwnd)   ' Repaint top level Menu.

End Sub



Private Sub Form_Load()

    ' This works for either an API-created menu or a native VB Menu.
    Dim mnuItemInfo As MENUITEMINFO, hMenu As Long, hSubMenu As Long
    Dim BuffStr As String * 80   ' Define as largest possible menu text.
    
    hMenu = GetMenu(Me.hwnd)   ' Retrieve menu handle.
    BuffStr = Space(80)
    
    With mnuItemInfo   ' Initialize the UDT
           .cbSize = Len(mnuItemInfo)   ' 44
           .dwTypeData = BuffStr & Chr(0)
           .fType = MF_STRING
           .cch = Len(mnuItemInfo.dwTypeData)   ' 80
           .fState = MFS_DEFAULT
           .fMask = MIIM_ID Or MIIM_DATA Or MIIM_TYPE Or MIIM_SUBMENU
    End With

    ' Use item break point position for the '3' below (zero-based list).
    hSubMenu = GetSubMenu(hMenu, 1)
    If GetMenuItemInfo(hSubMenu, 2, True, mnuItemInfo) = 0 Then
       MsgBox "GetMenuItemInfo failed. Error: " & Err.LastDllError, , "Error"
    Else
       mnuItemInfo.fType = mnuItemInfo.fType Or MF_MENUBREAK
       If SetMenuItemInfo(hSubMenu, 2, True, mnuItemInfo) = 0 Then
          MsgBox "SetMenuItemInfo failed. Error: " & Err.LastDllError, , "Error"
       End If
    End If
    DrawMenuBar (Me.hwnd)   ' Repaint top level Menu.

End Sub

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

هميشه شاد باشيد.
:roll: :lol: :D
تشكر
 

saalek110

Well-Known Member
روش جستجو سريع ListBox در VB‌

Amin_vb گفت:
با استفاده از اين كد شما مي‌توانيد به جستجوي سريع ListBox ها در ويژوال بيسيك به وسيله API بپردازيد.

ابتدا كد زير را در يك ماژول تعريف نماييد.
کد:
Const LB_FINDSTRING = &H18F
Private Declare Function SendMessage Lib "User32" _
             Alias "SendMessageA" _
         (ByVal hWnd As Long, _
          ByVal wMsg As Integer, _
          ByVal wParam As Integer, _
          lParam As Any) As Long

سپس با كد زير مي‌توانيد جستجو را انجام دهيد البته در اين كد براي جستجو از يك جعبه متني استفاده گرديده است.
کد:
 Private Sub Text1_Change()
    List1.ListIndex = SendMessage(List1.hWnd, LB_FINDSTRING, -1, _
                ByVal Text1.Text)
End Sub
'
'If you like that the found item list stays next to top of the ListBox control,
'you can try this:
Private Sub Text1_Change()
    '
    On Error Resume Next
    '
    List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, _
                ByVal Text1.Text)
    '
    List1.TopIndex = List1.ListIndex - 1
    '
End Sub

:roll: :roll: :roll: :p :p
تشكر
 

saalek110

Well-Known Member
روش پخش صداي Wav به وسيله API

Amin_vb گفت:
شما مي‌توانيد به وسيله API ها در ويژوال بيسيك اصوات با فرمت Wav را پخش نماييد به صورت زير :

ابتدا كد زير را در يك ماژول وارد نماييد.
کد:
'module (Api Functions declarations)

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Public Const SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry
Public Const SND_ASYNC = &H1         '  play asynchronously
Public Const SND_LOOP = &H8         '  loop the sound until next sndPlaySound
Public Const SND_NOWAIT = &H2000      '  don't wait if the driver is busy
Public Const SND_SYNC = &H0         '  play synchronously (default)

سپس كد زير را براي انجام اين عمل اجرا نماييد.
کد:
public sub cmdPlaysoundClick()

dim ret as long
ret=sndplaysound("c:\windows\bee.wav",SND_SYNC)

End Sub
تشكر
 

saalek110

Well-Known Member
تعويض تصوير پس زمينه ويندوز

Amin_vb گفت:
با اين كد مي‌توانيد تصوير پس زمينه ويندوز خود را از طريق ويژوال بيسيك عوض نماييد

ابتدا تعاريف زير را در يك ماژول انجام دهيد
کد:
'Module (Declaration of Api Functions)

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

'constants

Public Const SPIF_SENDWININICHANGE = &H2
Public Const SPIF_UPDATEINIFILE = &H1
Public Const SPI_SETDESKWALLPAPER = 20

سپس كد زير را براي عوض كردن تصوير اجرا نماييد.
کد:
'Form Code

Private Sub cmdChangeWallPaper_Click()
Dim ret As Long
ret = SystemParametersInfo(SPIF_SETDESKWALLPAPER, 0&, "c:\windows\bubble.bmp", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
End Sub

Private Sub cmdClearWallpaper_Click()
ret = SystemParametersInfo(SPIF_SETDESKWALLPAPER, 0&, "(None)", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
End Sub
تشكر
 

جدیدترین ارسال ها

بالا