PDA

View Full Version : متوسط : نکات جالب VB.NET



Saman_12
یک شنبه 17 مرداد 1389, 11:23 صبح
سلام.
این تایپیک رو ایجاد می کنم تا هر کس هر مطلب جالبی در باره VB.NET , از کد ادیتور و تنظیمات تا فانکشن هایی که خودتون ایجاد کردید این جا بزاره.
یه یک مطلب رو همین حالا بگم : که انتظار زیادی از خود من نداشته باشین من خودم یه تازه کارم و به کمک شما استاید عزیز و محترم نیازمند.
برای اینکه تایپیک بیشتر دارای مطالب مفید باشه و تعداد پست های انحرافی کم بشه لطفا به نکات زیر توجه کنید :
1.برای تشکر کردن در حد امکان از کلید تشکر استفاده کنید و از ایجاد پست خود داری کنید.
2.این تایپیک یک مکان برای یاد گیری و ... است و جای هیچ گونه انتقادی در آن نیست.(البته اگه کدی اشتباه نوشته شده یا کار نمیکنه بگین تا ویرایش بشه.)
3.توضیح دادن کد ها از حوصله ی این تایپیک خارج هست پس لطفا در خواست توضیح نکنید.(مگر در موارد ضروری.)
4.ضمیمه کردن سورس کد مجازه به این شرط که فاقد هر گونه ویروس یا ترو جان باشه.(از بابت فهمیدنش هم خیالتون تخت من خودم یه ویروس نویسم بودم و تقریبا به تمام کار هاشون واردم از دستکاری های ریجستری بگیر از تسک منیجر برو بیرون.)
خوب انشا الله به نکات بالا توجه کنید تا این تایپیک یه تایپیک همیشه به روز و مفید باشه.
از همین حالا از تمام کسانی که قصد شرکت در این تایپیک رو دارن صمیمانه تشکر می کنم.

Saman_12
یک شنبه 17 مرداد 1389, 11:32 صبح
اولین مطلب رو خودم میزنم.
این یه فانکشن برای کد کردن هست :


Function CodeString(ByVal BeforCode As String, ByVal iCode As Integer) As String
If BeforCode <> "" And IsNumeric(iCode) = True And iCode < 255 Then
Dim i As Integer
Dim After As String
For i = 1 To Len(BeforCode)
After = After & Chr(Asc(Mid(BeforCode, i, 1)) + iCode)
CodeString = After
Next i
End If
End Function

این هم برای آنکد کردن کد های ساخته شده با فانکشن قبل :


Function UnCodeString(ByVal AfterCode As String, ByVal iCode As Integer) As String
If AfterCode <> "" And IsNumeric(iCode) = True And iCode < 255 Then
Dim i As Integer
Dim Before As String
For i = 1 To Len(AfterCode)
Before = Before & Chr(Asc(Mid(AfterCode, i, 1)) - iCode)
UnCodeString = Before
Next i
End If
End Function

Saman_12
یک شنبه 17 مرداد 1389, 11:38 صبح
این هم یه فانکشن برای نمایش عداد اعشاری به صورت کسر :


Function Dificit(ByVal Income As String) As String
Dim Dot, Dot_, i, I_ As Integer
Dim BeforDot, AfterDot, Code, Code_, U As String
Dot = InStr(1, Income, ".")
BeforDot = Mid(Income, 1, Dot - 1)
AfterDot = Mid(Income, Dot + 1, Len(Income))
Dot_ = Len(AfterDot)
For i = 1 To Dot_
Code = Code & 0
Next i
For I_ = 0 To Len(AfterDot)
U = U & "_"
Next I_
Code_ = 1 & Code
Dificit = (BeforDot * Code_ + (AfterDot)) & vbCrLf & U & vbCrLf & Code_
End Function

این هم برای تبدیل اون عداد به اعشار :


Function Number(ByVal Income As String) As Single
Dim Underline, Underline_, i As Integer
Dim Under, Under_, U As String
Underline = InStr(1, Income, "_")
Under = Mid(Income, 1, (Underline) - 2)
For i = 0 To Len(Under)
U = U & "_"
Next i

Underline_ = InStr(1, Income, U)
Under_ = Mid(Income, Len(Under) + Len(U), Len(Income))
Number = Under / Under_
End Function

Saman_12
یک شنبه 17 مرداد 1389, 12:31 عصر
این یه API برای پیدا کردن X , Y مکان موشواره موس :


Structure Mouse
Dim X As Integer
Dim Y As Integer
End Structure
Public Declare Function GetCursorPos Lib "user32" (ByVal lpPoint As Mouse) As Long
Function GetMouse(ByVal x As Long, ByVal y As Long) As Long
Dim M As Mouse
GetCursorPos(M)
x = M.X
y = M.Y
End Function

این یکی هم برای قرار دادن موشواره در مکان دلخواه :

Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

Saman_12
یک شنبه 17 مرداد 1389, 12:46 عصر
این فانکشن برای تغییر تایم سیستم هس :


Public Declare Function SetSystemTime Lib "kernel32" (ByVal lpSystemTime As SystemTime) As Long
Structure SystemTime
Dim wYear As Short
Dim wMonth As Short
Dim wDayOfWeek As Short
Dim wDay As Short
Dim wHour As Short
Dim wMinute As Short
Dim wSecond As Short
Dim wMilliseconds As Short
End Structure

Function Set_Time(ByVal Year As Integer, ByVal Month As Integer, ByVal Day As Integer, ByVal Hour As Integer, ByVal Minute As Integer, ByVal Second As Integer, ByVal Milliseconds As Integer)
Dim Timenew As SystemTime
Dim IntM, IntH As Integer
' تاريخ
Timenew.wYear = Year
Timenew.wMonth = Month
Timenew.wDay = Day
' زمان
IntM = Val(Minute - 30)
If IntM < 1 Then
IntM = 60 + IntM
Else
Hour = Hour + 1
End If
Timenew.wMinute = IntM
IntH = Val(Hour - 4)
If IntH < 1 Then IntH = 12 + IntH
Timenew.wHour = IntH
Timenew.wSecond = Second
Timenew.wMilliseconds = Milliseconds
SetSystemTime(Timenew)

End Function

این هم فقط برای تغییر تایم هست :

Shell("Time " & "00:00")

Saman_12
یک شنبه 17 مرداد 1389, 13:30 عصر
اینم یه آموزش برای اینکه توی ویژوال بتونید شماره خط رو ببینید :
از منوی Tools گزینه ی Options.. رو انتخواب کنید وبعد این مسیر رو دنبال کنید :
TextEditor>Basic>Editor
خوب حالا سمت چپ دو قسمت میبینید Indenting و Interaction توی Interaction دوتا چک هست که شما با زدن چک گزینه ی Line numbers میتونید شماره خط رو توی کد ادیتور ببینید.!
خوب برای اینکه این آموزش کوتاه بود یکی دیگه هم میزارم :
برای اولین بار وقتی که روی سیستمتون ویژوال استدیو اجرا میکنید از تون زبان پیشفرض رو میپرسه که حالا ممکنه شما اشتباهی زبانی جز VB رو انتخواب کنید برای اینکه بتونید زبان پیشفرض رو تغییر بدین کافیه از منوی Tools گزینه ی Import and Export Settings... رو انتخوای کنید بعد هم گزینه ی Import selected رو انتخواب و روی Next کلیک کنید تنظیمات پنجره ی بعدی رو هم بزارید پیش فرض باشه و روی Next کلیک کنید وحالا توی این پنجره زبان پیشفرض رو میتونید عوض کنید و روی Next و سپس Finish کلیک کنید خوی تموم شد زبان پیشفرض تغییر کرده.
این یکی هم یه API برای اینکه بتونید Enable یه پنجره رو False یا True کنید :


Public Declare Function EnableWindow Lib "user32" Alias "EnableWindow" (ByVal hwnd As Long, ByVal fEnable As Long) As Long

برای False شدن FEnable رو 0 و برای True شدن 1 در نظر بگیرید.

salehbagheri
یک شنبه 17 مرداد 1389, 14:05 عصر
دوست عزیز از فعالیت خیرخواهانه شما کمال سپاسگزاری رو دارم اما یه ضرب المثل ژاپنی هست که میگه:

« بجای اینکه واسمون ماهی بگیری، ماهیگیری یادمون بده! »

با تشکر