ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





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









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.





صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 30
  1. #1
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419

    نا گفته هاي كاربردي و جالب در Visual Basic.Net

    نا گفته هاي كاربردي و جالب در Visual Basic.Net برای کسانی اشنایی ندارن برای خودم خیلی جالب بود.

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

    کد:
    Imports System.Globalization
    Public Class ConvertDate
        Public Function ShamsiToMiladi(ByVal ShamsiDate As String) As String
            Dim PDate As New PersianCalendar
                    Dim y, m, d As Integer
                y = Mid(ShamsiDate, 1, 4)
                m = Mid(ShamsiDate, 6, 2)
                d = Mid(ShamsiDate, 9, 2)
                           Return Mid(PDate.ToDateTime(y, m, d, 1, 1, 1, 1, 1), 1, 11)
                      End Function
        Public Function MiladiToShamsi(ByVal MiladiDate As String) As String
                Dim PDate As New PersianCalendar
                Dim miladi As Date = CDate(MiladiDate)
                Dim y, m, d As String
                y = PDate.GetYear(miladi)
                m = PDate.GetMonth(miladi)
                d = PDate.GetDayOfMonth(miladi)
                Return y & "/" & m & "/" & d
           End Function
    End Class
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  2. 2
  3. #2
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    مشکلی که خیلی از برنامه نویسان با ان مواجه هستند این است که عملکرد Enter در برنامه همانند عملکرد Tab باشد.
    به همین خاطر هر کسی با راه و روش خودش این کار رو انجام میدهد که اکثرا با کد نویسی های زیادی حاصل میشود. در صورتی که این کار فقط با نوشتن یک خط کد حاصل میشود.
    در ابتدا مقدار KeyPreview که یکی از مشخصه های فرم است را به True تغییر میدهیم و سپس در رویداد KeyPress برنامه این قطعه کد را مینویسیم :

    کد:
     Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
            If e.KeyChar = Chr(Keys.Enter) Then
                SendKeys.Send("{Tab}")
            End If
        End Sub
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  4. 2
  5. #3
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    این دفعه میخوام Property هایی رو براتون بگم که کمتر با انها اشنا هستیم
    کد:
     AutoCompleteCustomSource , AutoCompleteMode , AutoCompleteSource
    این مشخصات که مخصوص TextBox هستند میتوانند کار ورود داده به برنامه ها رو خیلی سریع تر کنند. بدین صورت که ما بوسیله ی آنها میتوانیم مثل یک ComboBox بلکه در زمینه هایی بهتر از ان عمل کنیم.
    کار این مشخصات این است که با تایپ کردن قسمتی از متن درون Textbox برنامه بقیه ی آن متن را به کاربر نشان دهد.
    برای کار شما ابتدا باید برای AutoCompleteCustomSource آیتم هایی رو تعریف کنین.
    سپس AutoCompleteMode را انتخاب کنین
    و در آخر AutoCompleteSource را برابر CustomSource قرار دهید.
    با این کار وقتی کاربر حرف اول کلمه ایی رو تایپ میکنه برنامه در AutoCompleteCustomSource آن کلمه رو پیدا میکنه و به کاربر نمایش میده.
    حالت های مختلفی وجود داره مثلا اگه AutoCompleteSource رو برابر FileSystem قرار دهیم با تایپ "C:\" برنامه زیر پوشه های درایو C رو برای نوشتن ادرس باز میکنه که این کار کاربر رو خیلی راحت تر میکنه
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  6. 2
  7. #4
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    بعضی وقت ها پیش میاد که میخواهیم یک نوع داده ی خاص رو از کاربر بگیریم که شکل خاصی داره (مثلا کد ملی یا کد پستی و ...) . برای اینکه ببنیم کاربر اون متن ورودی رو طبق قاعده وارد کرده یا نه از کلاس RegularExpressions استفاده میکنیم.

    کد:
    Imports System.Text.RegularExpressions
    
            Dim s As String = "122-250152-8"
            If Regex.IsMatch(s, "[1-9]{3}-[0-9]{6}-[0-9]") = True Then
                MsgBox("True")
            Else
                MsgBox("False")
            End If
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  8. 2
  9. #5
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    این هم یک کد که در خاصیت KeyPress تکست باکس قرارش میدیم , تا فقط مقدار های عددی رو قبول کنه

    کد:
    Private Sub T7_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ،TextBox1.KeyPress
            If Not IsNumeric(e.KeyChar) And e.KeyChar <> Convert.ToChar(Keys.Back) And e.KeyChar <> Convert.ToChar(Keys.Delete) Then
                e.Handled = True
            End If
        End Sub
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  10. 1
  11. #6
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    این هم یک کد خیلی مفید برای حلقه ها و loop ها
    اگر توجه کرده باشید توی دات نت وقتی یک حلقه ی بزرگ , مثلا 1000000 رکورد رو بخواید توی یه لیست باکس بریزید , یا از دیتابیس فرا بخونید , تا قبل از تموم شدن حلقه برنامه اگر Not Response نشه , حداقل دیگه نمی تونید توش کاری انجام بدید.
    برای رفع این مشکل , کافیه در حلقه خود از متد Application.DoEvents استفاده کنید
    مثال :

    کد:
    For i=0 to 100000
    application.Doevents
    Listbox1.Items.add(i)
    Next
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  12. 1
  13. #7
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    این هم یه پروپرتی Override شده برای سایه دار کردن فرم ها . زمانی که یه کنترل خواستید بسازید این تکه کد خیلی به دردتون میخوره.
    کد:
    Private Const CS_DROPSHADOW As Integer = 131072
        ' Override the CreateParams property
        Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
            Get
                Dim cp As CreateParams = MyBase.CreateParams
                cp.ClassStyle = cp.ClassStyle Or CS_DROPSHADOW
                Return cp
            End Get
        End Property
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  14. 1
  15. #8
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    این هم نمونه کدی برای تغییر زبان کامپیوتر. بعضی از افراد از Api ها برای این کار استفاده میکنن. بهشون پیشنهاد میکنم اولویت رو به توابع دات نت بدهند. در مواقعی که این توابع پاسخگو ی نیازتان نیستند به سراغ api ها بروید

    کد:
    If InputLanguage.CurrentInputLanguage.LayoutName = "US" Then
    Dim farsi As New Globalization.CultureInfo("fa-IR")
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(farsi)
    Else
    Dim en As New Globalization.CultureInfo("en-US")
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(en)
    End If
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  16. 1
  17. #9
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    نخ ها Thearding) یکی از بهترین امکان برای استفاده بهینه منابع هست با این حال خیلی مورد بی توجهی قرار می گیره.
    مثلاً با این موضوع بر خرده باشید که وقتی حلقه ای بینهایت یا طولانی داریم و نیاز هست که در هنگام پردازش حلقه به رویداد های دیگه رسیده مورد تقاضای کاربر جواب بده در این حالت یا شما باید از دستور Doevents استفاده کنید که اصلاً توصیه نمی شه چون اجرای این دستور حدوداً یک میلی ثانیه تاخیر ایجاد می کنه و اگر حلقه من 10000 هزار بار تکرار بشه در برنامه من به صورت ناخواسته 10 ثانیه وقت تلف می شه (برای پاسخ به رویداد های دیگر )
    برای این منظور از نخ ها استفاده که کارایی برنامه شما رو به صورت چشم گیری افزایش می دهد
    من یک حلقه بزرگ رو مثال می زنم ک من در اینجا قصد دارم یک جستجو در یک مسیر خاص در درایوم رو به شما نشون بدم لازم به ذکر هست که این برنامه تمام مسیر یعنی تمام زیر شاخه ها رو هم در بر می گیره:

    ن هم یک مثال ساده تا بهتر متوجه بشیم:
    کد:
     PublicEnum StatC
    vbStop = 0
    vbRun = 1
    vbPause = 2
    EndEnum

    کد:
     Dim Stat_1  As  StatC
    Dim 
    Tr  As  Threading.Thread
    برای آغاز کار 
    Public
    Sub Start(
    کد:
    )
    If Stat = StatC.vbStop Then
    Me.Tr =  New Thread(New   ThreadStart(AddressOf Me.Roshan))
    Tr.Priority =ThreadPriority.Highest
    Tr.Start()
    EndIf
    End  sub
    برای ادامه وقتی که Pause استفاده شود
    کد:
     Public Sub   Resume_()
    IfNot IsNothing(Tr) Then Tr.Resume()
    Stat_1 = StatC.vbPause
    EndSub
    برای توقف موقت
    کد:
     PublicSub Pause()
    IfNot IsNothing(Tr) Then Tr.Suspend()
    Stat_1 = StatC.vbPause
    EndSub
    برای از بین بردن
    کد:
     Public Sub _Stop()
    IfNot  IsNothing(Tr) Then Tr.Abort()
    Stat_1 = StatC.vbStop
    EndSub
    پردازه بی نهایت
    کد:
     PrivateSub Roshan()
    While (1)
    ....دستورات شما
    End While
    EndSub





    [برای نمایش لینک باید عضو شوید. ]
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  18. 1
  19. #10
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419
    این کد زمان روشن بودن کامپیوتر رو بر حسب میلی ثانیه بر میگرداند. این قابلیت میتونه خیلی کارامد باشه در ضمن چون در یک متغیر 32 بیتی ذخیره میشود پس از 24 روز مقدار آن صفر میشود.

    کد:
    System.Environment.TickCount
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 30

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. ارتباط پایگاه داده Access با Visual Basic از طریق کد نویسی
    توسط MspSoft در انجمن برنامه نویسی در 6 VB
    پاسخ: 3
    آخرين نوشته: 2013-05-07, 12:33 AM
  2. دانلود دانلود کتاب فارسی مقدماتی MFC در Visual Studio 2008
    توسط MspSoft در انجمن برنامه نویسی با MFC و ++Visual C
    پاسخ: 0
    آخرين نوشته: 2012-10-11, 05:15 PM
  3. توابع مثلثاتي در visula basic
    توسط MspSoft در انجمن برنامه نویسی در 6 VB
    پاسخ: 0
    آخرين نوشته: 2012-01-30, 12:32 AM
  4. آموزش جامع Visual C# 2005
    توسط MspSoft در انجمن #C
    پاسخ: 4
    آخرين نوشته: 2011-12-14, 11:16 PM
  5. انواع داده ای در Visual Basic.NET
    توسط MspSoft در انجمن VB.NET
    پاسخ: 0
    آخرين نوشته: 2011-11-25, 10:34 AM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

Content Relevant URLs by vBSEO 3.6.0 RC 2