1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

سورس های کاربردی و پیشرفته

شروع موضوع توسط hector2141 ‏28/9/12 در انجمن Visual Basic

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های کاربردی و پیشرفته

    تبديل يك عدد به ساعت ، دقيقه و ثانيه


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

    بكارگيري عملگر Mod براي محاسبه دوره هاي زماني سپري شده
    عملگر Mod در ويژوال بيسيك ، دو عدد را به هم تقسيم مي كند اما فقط باقيمانده عمل تقسيم را بر مي گرداند . اگر بخواهيد معين كنيد كه عدد 121 ( كل ثانيه هايي كه براي يك رويداد ثبت شده است ) چند دقيقه و ثانيه مي شود ، اين عدد را بر 60 تقسيم مي كنيد (‌ثانيه به ازاي هر دقيقه )‌نتيجه تقسيم عدد 2 و باقيمانده آن نيز 1 خواهد بود . اينك اگر از عملگر Mod ، مجددا بر روي عدد اصلي استفاده كنيد ، عدد 1 را دريافت خواهيد كرد كه همان باقيمانده تقسيم فوق است . اين تبديل ،‌در نهايت عدد 121 را به دو دقيقه و يك ثانيه تبديل مي كند.

    برنامه نمونه

    اين برنامه چگونگي بكارگيري عملگر mod براي تبديل عدد متناسب با زمان به يك رشته را نشان مي دهد .

    1- پروژه جديدي در ويژوال بيسيك ايجاد نماييد به طور پيش فرض Form1 ايجاد مي شود.
    2- كنترلي از نوع Label به Form1‌ اضافه كنيد . بطور پيش فرض Lable1 ايجاد مي شود. خصوصيت Caption آن را با عبارت "Enter A Value" تنظيم نماييد.
    3- سپس كنترلي از نوع Text Box در كنار Label1 اضافه كنيد . بطور پيش فرض Text1 ايجاد مي شود. خصوصيت Text آنرا نيز با Null (خالي) تنظيم نماييد.
    4- كد زير را به رويداد LostFocus مربوط به Text1 اضافه نماييد

    کد PHP:
    Sub Text1_Lostfocus()
    Dim Isec as integer
    Isec
    = val(text1.text)
    Breaksex = Str$(Int(Isec /60 )) & "Minute" & Str$(Isec Mod 60) & " Second "
    text2.text = Breaksec
    end sub


    5- كنترلي از نوع Label در زير Label1 به Form1 اضافه كنيد . به طور پيش فرض Label2 ايجاد مي شود خصوصيت Caption آن را با عبارت "Time Passed " تنظيم نماييد.
    6- در كنار Label2 و در زير Text1 , كنترل ديگري از نوع Text box اضافه كنيد به طور پيش فرض Text2 ايجاد مي شود . خاصيت text آن را به مقدار خالي تنظيم نماييد.
    8- هنگام اجراي برنامه كاربردي يك مقداد عددي در Textbox اول وارد كنيد . سپس كليد Tab را براي ريختن آن به دومين textbox فشار دهيد . برنامه عدد وارد شده را به رشته اي تبديل مي كند كه اين رشته متناسب با مقدار دقيقه و ثانيه مي باشد.
     
  2. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های کاربردی و پیشرفته

    انتخاب اتوماتيك متن داخل يك Text Box هنگامي كه نقطه تمركز برنامه با زدن كليد TAB به اين كنترل منتقل مي شود.


    اين كار با استفاده از تابغ GetKeyState امكان پذير است .

    برنامه نمونه

    جمله Declare زير را به قسمت معرفيهاي عمومي فرم اضافه نماييد
    کد:
    Public Declare Function GetKeyState Lib "user32" alias "GetKeyState" (Byval NVirtkey As Long ) As Integer
    ثابت زير را نيز در قسمت معرفي هاي عمومي مربوط به Form1 وارد كنيد


    کد:
    Const VK_TAB = &H9
    دو كنترل از نوع textbox بر روي فرم قرار دهيد . Text1 و text2 ايجاد مي شود.
    كد زير را در رويداد Load مربوط به Form1 وارد نماييد.
    کد:
    Sun Form_load()
    Text1.text = "Press Tab To Select The Text"
    Text2.text = ""
    Text2.Text = "This is a Paragraph that should be selected. "
    end sub
    كد زير را در رويداد GetFocus مربوط به text2 وارد نماييد.
    کد:
    Sub Text2_Getfocus()
    Dim X as integer
    X = GetKeyState(Vk_Tab)
    If Getkeystate(VK_Tab) and -256 then
    text2.setfocus
    Text2.selstart = 0
    Text2.SelLenght = Len(Text2.text)
    end if
    End sub
    پس از اجراي برنامه نقطه تمركز بر روي Textbox اول است كليد TAB را فشار دهيد تا نقطه تمركز به سمت دومين TEXTBOX حر كت كند . در اين حالت متن درون TEXTBOX دوم به صورت اتوماتيك انتخاب مي شود.
     
  3. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های کاربردی و پیشرفته

    استخراح فونتهاي صفحه نمايش و چاپگر


    برنامه زير سه كنترل List Box را بر روي يك فرم نمايش مي دهد كه فونتهاي چاپگر در اولي فونتهاي صفحه نمايش در دومي و فونتهاي مشترك دو ويسله در سومي ليست شده اند.

    پروژه جديد را آغاز كنيد . بطور پيش فرض Form1 ايجاد مي شود.
    سه كنترل از نوع List Bpx و در كنار يكديگر به Form 1 ايجاد مي شود .
    براي هر سه ليست باكس خصوصيت Sorted را با True تنظيم كنيد.
    كد زير را در رويداد load مربوط به Form1‌ وارد كنيد.
    کد PHP:
    Sub Form_Load()
    Dim X as integer
    Dim Y
    As integer
    For x = 0 To Screen.Fontcount -1
    For Y = 0 To Printer.Fontcount - 1
    if screen.fonts(x) = printer.fonts(y) then
    list3
    .additem Printer.Fonts(y)
    end if
    Next Y
    Next X
    For X = 0 to Printer.fontcount - 1
    List1
    .additem Printer.Fonts(X)
    next x
    For X = 0 To Screen.FontCount - 1
    List2
    .additem Screen.fonts (X)
    next X
    end sub
     
  4. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های کاربردی و پیشرفته

    بررسی اتصال به اینترنت با روشی کاملا مطمئن

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

    Option Explicit

    Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Long


    Private Function InternetConnectionIsEstablished() As Boolean
    InternetConnectionIsEstablished = CBool(InternetCheckConnection("http://www.google.com/", &H1, ByVal 0&))
    End Function


    Private Sub Form_Load()
    MsgBox InternetConnectionIsEstablished
    End Sub