تبليغاتX
ebook,vb,Delphi,c++,c#,java,book,free,rapidshar,surce,Download,Programing,php,pdf,chm,opengl,Larning,directx,3d,offic,.net,asp,آموزش,سي,برنامه نويسي,وي بي,دلفي,كتاب الكترونيك,پي دي اف,جاوا,كتاب
English سايت ديگر ما Picture Visual Basic Delphi Ebook Forum[2] SiteList صفحه اصلي

خوش آمديد به


كتابخانه مركزي
وبلاگ نويسان

English|فارسي
در كل سايت(In all Page)
آخرين پست ها
salam#\/\/:: بدون شرح#\/\/:: کاردانی به کارشناسی#\/\/:: برنامه ساختمان داده#\/\/:: ایبوک#\/\/:: دانلود سورس متور سه بعدی اوگری 3d engin download#\/\/:: جدید#\/\/:: java#\/\/:: new link added#\/\/:: salam#\/\/::

توسط ناصر نيازي درپنجشنبه 17 بهمن1387   11:26 | 

سلام ببخشید دیر دارم مطلب می نویسم نظرات شرمنده ام کرد دوباره

فقط برنامه های ساختمان داده من برای استاد شکری پور رو آوردم

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

Data struc project Link

Link List and student manegment system

http://nasservb.persiangig.com/tree.zip

http://nasservb.persiangig.com/3.zip

مثال خوبی برای لینک لیست تو سی هست برنامه درخت در وی بی هم تو لینک دومیه هست

من تو درس ساختمان 16.5 شدم برگه رو خوب ننوشتم چون با امتحان ریاضی یه روز بود


توسط ناصر نيازي درشنبه 2 آذر1387   16:30 | 



Current Release

Name Date Size Notes
OGRE 1.6.0 Source for Linux / OSX 4 November 2008
37.0Mb
OGRE 1.6.0 Source For Windows 4 November 2008 46.4Mb
Mac OSX Universal Precompiled Dependencies
6 March 2008
17.5Mb
Visual C++.Net 2003 (7.1) Precompiled Dependencies
28 December 2007 17.3Mb
Visual C++.Net 2005 (8.0) SP1 Precompiled Dependencies
28 December 2007 15.7Mb Please note - you must have installed VS2005 Service Pack 1. You may also be interested in the debug symbols.
Visual C++.Net 2008 (9.0) Precompiled Dependencies
7 February 2008
21.8Mb
Code::Blocks + MingW C++ Toolkit Precompiled Dependencies
15 January 2008
21.5Mb

Previous Release

Name Date Size Notes
OGRE 1.4.9 Source for Linux / OSX 16 June 2008
28.3Mb
OGRE 1.4.9 Source For Windows 16 June 2008
37.8Mb
Mac OSX Universal Precompiled Dependencies 1.4.x 6 March 2008
17.5Mb
Visual C++.Net 2003 (7.1) Precompiled Dependencies 1.4.x 28 December 2007 17.3Mb
Visual C++.Net 2005 (8.0) SP1 Precompiled Dependencies 1.4.x
28 December 2007 15.7Mb Please note - you must have installed VS2005 Service Pack 1. You may also be interested in the debug symbols.
Visual C++.Net 2008 (9.0) Precompiled Dependencies 1.4.x 7 February 2008
21.8Mb
Code::Blocks + MingW C++ Toolkit Precompiled Dependencies 1.4.x 15 January 2008
21.5Mb



توسط ناصر نيازي دردوشنبه 20 اسفند1386   16:17 | 

بلخره تصمیم گرفتم برنامه معروف پلیر که مدتها پیش نوشتم و اوایل سال ۲۰۰۷ تم.مش کردم رو بزارم روی وب

این برنامه بسیار حرفه ای و شامل بخشهای زیادی برای پخش صوت می باشد

بخشهای این برنامه شامل

برنامه تبدیل فرمت های مختلف

برنامه ایجاد فایل ای وی آی از عکس

برنامه کپی گسترده فایل

برنامه جستجوگر وب و فایل

برنامه پخش صوت وتصویر

برنامه رو با وی بی ۶ نوشتم وتکنیکهایی مثل دی دی ای وآی پی درش بکار رفته

Download

Player Audio & Video


توسط ناصر نيازي درچهارشنبه 17 مرداد1386   12:23 | 

 ] 2002-09-05-VB.pdf 05-Sep-2002 13:04 1.8M
[ ] 2002-09-10-VB.pdf 10-Sep-2002 13:57 836K
[ ] 2002-09-12-VB.pdf 12-Sep-2002 14:15 119K
[ ] 2002-09-17-VB.pdf 17-Sep-2002 13:02 1.4M
[ ] 2002-09-19-VB.pdf 19-Sep-2002 13:15 328K
[ ] 2002-09-24-VB.pdf 24-Sep-2002 18:16 296K
[ ] 2002-09-26-VB.pdf 26-Sep-2002 13:44 506K
[ ] 2002-10-01-VB.pdf 01-Oct-2002 13:25 359K
[ ] 2002-10-03-VB.pdf 03-Oct-2002 13:52 260K
[ ] 2002-10-08-VB.pdf 08-Oct-2002 13:22 467K
[ ] 2002-10-10-VB.pdf 10-Oct-2002 13:23 187K
[ ] 2002-10-15-VB.pdf 15-Oct-2002 13:39 290K
[ ] 2002-10-17-VB.pdf 17-Oct-2002 13:14 2.0M
[ ] 2002-10-22-VB.pdf 22-Oct-2002 16:00 550K
[ ] 2002-10-24-VB.pdf 24-Oct-2002 13:14 303K
[ ] 2002-10-29-VB.pdf 29-Oct-2002 13:58 1.3M
[ ] 2002-10-31-VB.pdf 31-Oct-2002 13:14 498K
[ ] 2002-11-05-VB.pdf 05-Nov-2002 13:50 2.2M
[ ] 2002-11-07-VB.pdf 07-Nov-2002 13:42 503K
[ ] 2002-12-03-VB.pdf 03-Dec-2002 14:23 482K
http://www.cs.ualberta.ca/~bulitko/F02/slides/?C=N;O=D

توسط ناصر نيازي درسه شنبه 16 مرداد1386   12:18 | 

۱ 3D.zip   ۴۲ k
۲ 3dlandscape.zip   ۲۹۲ k
۳ AnimGif.zip   ۷۰ k
۴ Craft3D.zip   ۱۹۰ k
۵ DirectMusic.zip   ۶ k
۶ Dugeon3D.zip   ۳۷ k
۷ TextEffect.zip   ۱۴ k
۸ charmap.zip   ۱۱ k
۹ flames.zip   ۹ k
۱۰ fs.zip   ۳۱۱ k

۱ايجاد صحنه هاي سه بعدي به چنيدن شيوه به كمك اي پي آي مناسب براي مبتدي ها

۲ايجاد يك تصوير سه بعدي فقط با دو تا عكس (بي نظير)

۳فرمت فايل جي آي اف

۴برنامه معروف تري دي استوديو يك صفحه سه بعدي براي طراحي و چرخش

۵پخش آهنگ به كمك دايركت ايكس در پس زمينه (دايركت موزيك)

۶برنامه شامل يك را هرو با چنيدين اطاق كه تقريبآ خودم تكميلش كردم دوربين رو با پيج آپو دان جابه جا كنيد كليد جهت دار هم حركت

۷ايجاد و اعمال افكت روي متن به صورت بسيار زيبا با دايركت فونت (توصيه مي شود)

۸كاراكتر مپ ويندوز

۹ايجاد آتش واقعي فقط با كد نويسي من كه از طرز كارش سر در نياوردم

۱۰اين يك شاه برنامه تمام عيار است تصاويري ايجاد مي كند مانند فرش كه فتوشاپ هم از ترسيمش عاجز است(حتمآ)

 


توسط ناصر نيازي درجمعه 24 فروردین1386   19:23 | 

سلام .احوال شما .حالتون كه خوبه.

گله دارم امروز.چرا نظر نمي دين .امروز مي خام يه شاه برنامه براتون بنويسم ولي خب نظر نمي دين كه چه فايده !! مي خام برنامه بنويسم كه هيچ جا سورسش رو نديده باشيد .البته سورس اصلي اين برنامه هم مال من نيست ازيه سي دي كد باز ( OpenSurce )درش آوردم .
با اين برنامه مي تونيد برنامه ها و دي ال ال هايي كه با سي پلاس پلاس نوشته شده و بعضي از برنامه هاي ديگر رو باز كنيد و ديالوگ هاش رو ببينيد .اين جور برنامه ها كه معروفترينش ResurceHaker هست براي جعل و فارسي كردن برنامه ها استفاده مي شه .البته برنامه اي كه من اين سورس رو ازش درآوردم قدرت ديدن تمامي اجزاي برنامه از جمله آيكون ها ومنو ها عكس ها و تصوير و صدا و خلاصه هر چي توي فايل هست رو داشت ولي من فقط اين قسمتش رو برداشتم.چون تمام اون قسمتها برنامه رو حجيم مي كرد كه از حوصله وبلاگ ما خارج است!! براي اين برنامه بايد كد زيادي بنويسيد.
خب شروع كنيد .پنجره ي كامپيونها رو باز كنيد ( Project/Component ) و تيك MicrosoftCommonDilog6 و تيك MicrosoftWindowsCommonControl6 را بزنيد
يك TreeView يك Commondialog و يك ImageList به فرم اضافه كنيد
خاصيت نام كامند ديالوگ رو به CDLG تنظيم كنيد.چهار تا عكس به ImageList اصافه كنيد .عكس اول علامت Search عكس دوم علامت پوشه بسته عكس سوم پشه باز و عكس چهارم علامت New باشه
مي تونيد از آيكونهاي خود وي بي استفاده كنيد .مثال

D:\Program Files\Microsoft Visual Studio\Common\Ghraphic

روي خاصيت Custom ليست درختي ( TreeView ) دو با ر كليك كنيد تا كادرش باز شود .سپس
خاصيت اسكرول ليست درختي( TreeView ) را فعال كنيد .و خاصيت ImageList آن را به ImageList1 تنظيم كنيد .
يك كامند ياتون با يه كادر عكس و يه تكست بوكس به فرم اضافه كنيد .خاصيت MultiLine تكست بوكس را به True و خاصيت ScrolBar اون رو به 3 تنظيم كنيد.
فرم و ليست درختي و كادر عكس رو خيلي بزرگ كنيد . و تكست بوكس و دكمه رو زياد بزرگ نكنيد
در كد كليك كامند كد زير رو بنويسيد

CurrentResType = "": CurrentResName = ""
RefreshView: ClearResource
cdlg.Filter = "Executable (dll,exe)|*.dll;*.exe|All files (*.*)|*.*"
cdlg.InitDir = App.Path
cdlg.ShowOpen
If cdlg.FileName <> "" Then
Call FillResTypes(TreeView1, cdlg.FileName, cdlg.FileTitle)
End If

در رويداد Collapse ليست درختي بنويسيد:

RefreshView

در رويداد Expand ليست درختي بنويسيد:

If Node.Child.Text = "Dummy" Then
TreeView1.Nodes.Remove Node.Child.Index
Call FillResNames(TreeView1, Node)
End If

و بلاخره در رويداد NodeClick ليست در ختي كد زير رو كپي كنيد:

Dim ResType As String, ResName As String, ret As Boolean
Text1.Visible = False
RefreshView
CurrentResType = "": CurrentResName = ""
If Node = Node.Root Then Exit Sub
Label1 = "ResType: " & Node.Text
If Node.Key = "" Then
CurrentResType = Node.Text
Else: CurrentResType = Mid(Node.Key, 2)
End If
If Node.Parent = Node.Root Then Exit Sub
MousePointer = vbHourglass
If Node.Parent.Key = "" Then
ResType = Node.Parent.Text
Else: ResType = Mid(Node.Parent.Key, 2)
End If
ResName = Node.Text
If IsNumeric(ResName) Then ResName = "#" & ResName
CurrentResType = ResType: CurrentResName = ResName
Label1 = "ResType: " & Node.Parent.Text & vbCrLf & "ResName: " & ResName & vbCrLf & "ResSize: " & ResSize(ResType, ResName) & " bytes"
Select Case UCase(ResType)
Case "1", "2", "3", "12", "14" '---picture(Icon)
Case "4" 'Menu
Case "5", "17" 'Dialog
ret = ShowDialog(ResName, Picture1)
Case "6" 'String
Case "9" 'Accelerators Table
Case "11" 'Message Table
Case "16" 'version info
Case "23", "HTML" 'Web Page
Case "AVI" '-video
Case "JPG", "JPEG", "GIF", "PNG", "TIF", "TIFF", "WMF", "EMF" - -Picture
End Select
If ret = False Then
If Text1.Visible Then
Text1.Text = Text1.Text & vbNewLine & "Can not load resourse"
Else: Picture1.Print "Can not load resourse"
End If
End If
Picture1.Refresh: MousePointer = vbDefault

فكر كرديدن تموم شد حالا قسمت اصليش مونده .يه ماژول به فرم اضافه كنيد و كد زير رو داخلش كپي كنيد

 

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

راستي دقت كردين آدم نظر نمي ده چقدر عذاب وجدان مي گيره !!اون هيچي فشار قبر رو چي خدا بخير بگزرونه!!آره فشار قبر


توسط ناصر نيازي درچهارشنبه 22 فروردین1386   15:7 | 

سلام

تا حالا دلتون خاسته يه اسكرين سيور بسازين

من يه برنامه بسيار جالب از اقاي Alexander Anikin به آدرس http://www.poshuk.com/pegas/index.htm دارم كه در اون يه اسكرين سيور بسيار زيبا ايجاد مي شه حالا اگه حوصله كنيد براتون كدش رو توضيح مي دم

دو تا PictureBox با دو تا تايمر ايجاد كنيد .خاصيت Autoredraw دو تا عكس و فرم رو true كنيد

خاصيت Interval تايمر اولي رو1و دومي رو 1000كنيد

در خط اول كد فرم توابع زير ور تعريف كنيد

'Copyright © 2000 by Alexander Anikin

'e-mail: pegas@poshuk.com

'http://www.poshuk.com/pegas/index.htm

Option Explicit

Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function BitBlt _

Lib "gdi32" ( _

ByVal hDestDC As Long, _

ByVal x As Long, ByVal y As Long, _

ByVal nWidth As Long, _

ByVal nHeight As Long, _

ByVal hSrcDC As Long, _

ByVal XSrc As Long, ByVal YSrc As Long, _

ByVal dwRop As Long _

) As Long

Private Declare Function SetWindowPos Lib "user32" ( _

ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _

ByVal x As Long, ByVal y As Long, ByVal cx As Long, _

ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const SWP_NOSIZE = &H1

Private Const SWP_NOMOVE = &H2

Private Const HWND_TOPMOST = -1

Dim a(47) As Integer

Dim b(47) As Integer

Dim xxx As Integer

Dim yyy As Integer

Dim e As Integer

Dim ScrW As Integer, ScrH As Integer

Private Sub TrueOnTop(myForm As Object)

SetWindowPos myForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE

End Sub

براي اينكه كاربر هر كاري كرد برنامه سريع خارج بشه بايد در رويداد KeyDown-MouseDown بنويسيد

Unload Me

در كد فرم لواد بنويسيد

If App.PrevInstance = True Then Unload Me

Dim x

TrueOnTop Form1

With Picture1(48)

.BorderStyle = 1

.AutoRedraw = True

.Visible = False

End With

Me.AutoRedraw = True

Dim Bo As Boolean

Call BitBlt(hDC, 0, 0, Screen.Width, _

Screen.Height, GetDC(0&), 0, 0, vbSrcCopy)

Picture2.Width = Screen.Width

Picture2.Height = Screen.Height

Picture2 = Image

ScrW = Screen.Width \ 8

ScrH = Screen.Height \ 6

Picture1(48).Width = ScrW

Picture1(48).Height = ScrH

Dim l As Integer, t As Integer

l = 0

t = 0

For e = 0 To 47

Bo = Not Bo

If Bo = True Then

a(e) = 15

b(e) = 15

Else

a(e) = -15

b(e) = -15

End If

Load Picture1(e)

Picture1(e).Left = l

Picture1(e).Top = t

l = l + ScrW: If l > Screen.Width - ScrW Then l = 0: t = t + ScrH: Bo = Not Bo

Picture1(e).PaintPicture Picture2.Picture, 0, 0, ScrW, ScrH, ScrW * xxx, ScrH * yyy, ScrW, ScrH, vbSrcCopy

xxx = xxx + 1: If xxx = 8 Then xxx = 0: yyy = yyy + 1

DoEvents

Next e

For e = 0 To 47

Picture1(e).Visible = True

Next e

x = ShowCursor(False)

Cls

Timer1.Enabled = True

Timer2.Enabled = True

كد MouseMove فرم

Static X0 As Integer, Y0 As Integer '------------------------------

If ((X0 = 0) And (Y0 = 0)) Or _

((Abs(X0 - x) < 45) And (Abs(Y0 - y) < 45)) Then ' small mouse movement...

X0 = x ' Save current x coordinate

Y0 = y ' Save current y coordinate

Exit Sub ' Exit

End If

Unload Me ' Large mouse movement (terminate screensaver)

كد رويداد تايمر تايمر اولي

LockWindowUpdate Me.hwnd

For e = 0 To 47

Picture1(e).Move Picture1(e).Left + a(e), Picture1(e).Top + b(e)

If Picture1(e).Left > Screen.Width - ScrW Then a(e) = -a(e)

If Picture1(e).Left < 0 Then a(e) = -a(e)

If Picture1(e).Top > Screen.Height - ScrH Then b(e) = -b(e)

If Picture1(e).Top < 0 Then b(e) = -b(e)

DoEvents

Next e

LockWindowUpdate False

كد همون رويداد براي تايمر دومي

Enabled = True

Timer2.Enabled = False

و بلاخره كد Form_Unload

Dim x

x = ShowCursor(True)

End

شايد به محض اجرا شدن برنامه از برنامه خارج شويد .شما بايد يك نسخه اجرايي از برنامه روي دكستاپ ايجاد كنيد و بعد برنامه رو اجرا كنيد .اگه بازم به محض ورود از برنامه خارج شديد Unload Me ها رو پاك كنيد ولي يك دكمه براي خروج از فرم ايجاد كنيد.

نكته:براي ايجاد نسخه اجرايي از پروژه از منوي فايل گزينه Make Project1.exe بزنيد .

نظر ندادنتون منو كشته


توسط ناصر نيازي درسه شنبه 7 فروردین1386   10:48 | 

سلام حتمآ با پست قبلي جيگرتون آتيش گرفت.حق دارين از نظراتون معلومه

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

اين برنامه بدون هيچ تايمري كار مي كنه و معقيت فرم رو ميگه

يه پروژه خالي(به قول تركا كالاه)ايجاد كنيد ويه ماژول و يه فرم بهش اضافه كنيد

كد مربوط به ماژول

'API Types

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

'API Constants
Const WM_MOVING = 534
Const GWL_WNDPROC = (-4)

'API declarations
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nindex As Long, ByVal dwnewlong As Long) As Long
Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, lParam As RECT) As Long
Private Declare Function DefWindowProc Lib "user32.dll" Alias "DefWindowProcA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Dim OldhWndProc As Long

Private Function OnMove(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, lParam As RECT) As Long
'Handle the OnMove event
If uMsg = WM_MOVING Then
'The form is moving!!
Form1.Caption = "Left: " & lParam.Left & " ,Top: " & lParam.Top
'Insert your code HERE
End If
'Call the old WindowProc
OnMove = CallWindowProc(OldhWndProc, hWnd, uMsg, wParam, lParam)
End Function

Public Sub InstallOnMovingEvent(frm As Form)
'Install the new WindowProc - SubClassing
OldhWndProc = SetWindowLong(frm.hWnd, GWL_WNDPROC, AddressOf OnMove)
End Sub

Public Sub RemoveOnMovingEvent(frm As Form)
'Restore the original WindowProc
SetWindowLong frm.hWnd, GWL_WNDPROC, OldhWndProc
End Sub

روي فرم دابل كليك كنيد هر چي نوشته پاك كنيد اينارو بنويسيد

Private Sub Form_Load()
InstallOnMovingEvent Me
End Sub

Private Sub Form_Unload(Cancel As Integer)
RemoveOnMovingEvent Me
End Sub

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

من تو هرپست باد بگم نظر بدين.خوب نظر بدين ديگه


توسط ناصر نيازي دردوشنبه 6 فروردین1386   15:35 | 

سلام

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

اجرا مي شه دكمه استارت تغيير شكل بده !!نميشه؟بشين اينجا جايي نرو تابگم چجوري ميشه

يه كادر عكس به فرم اضافه كنيد ويه عكس توش بندازيد.بعد يه تايمر به فرم اضافه كنيد

خاصيتIntervalتايمر رو روي1 بزاريد بعد توابع زير رو در خط اول كد فرم بنويسيد

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Dim dsktp As Long, St As Long

در ويداد فرم لواد كد زير روبنويسيد

Dim Wind As Long 'Temporary hwnd holder'--Finding the SystemTray Window (hwnd)
Wind = FindWindow("Shell_TrayWnd", "") '--Finding the Start Button Window (hwnd)
Wind = FindWindowEx(Wind, 0, "Button", vbNullString)
St = GetDC(Wind) 'Getting Start Button DC
dsktp = GetDC(Picture1.hwnd)
Timer1.Enabled = True

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

StretchBlt St, 0, 0, 100, 60, dsktp, 40, 1, 1, 40, SRCCOPY

اين نظر كه يادت نمي ره.ايولا گل پسر !!زود باش دير ميشه ها


توسط ناصر نيازي درجمعه 3 فروردین1386   10:43 | 

امروز یه فایل آپ کردم که با اون می تونید یه برنامه یا فایل دی ال ال رو باز کنید و ای  پی آی هاش رو بکشید بیرون .خیلی جالبه دانلو کنید حجمش هم کمه

بعد از باز کردن برنامه از منوی فایل لواداكسپورت بزنيد و فايل رو انتخاب كنيد بعضي از فايل هارو باز نمي كنه ولي اكثر دي ال ال ها رو من با هاش باز كردم

دانلود-14 كلو بايت

نظر كه يادت نمي ره


توسط ناصر نيازي درپنجشنبه 17 اسفند1385   11:3 | 

سلام مي خوام امروز با هم يه يوزر كنترل بسازيم يه ActiveX

اكتيوايكس چيه:اكتيوايكس يه سري شيئي هستند كه كاربرايي كه خلاق وبا استعداد هستند و به كنترل هاي خود وي بي قانع نيستند مي سازند

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

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

يه پروژه خالي ايجاد كنيد.از منوي پروژه گزينهAdd User Controlرو بزنيد و در كادر باز شده اوكي رو بزنيد

صفحه كه باز شده شبيه به يه فرم بدون منو هست.اونو كوچيك كنيد كه اندازه يه ليست بوكس بشه بعد يه كامند داخلش بزارين .اسم يوزر كنترل رو به اسم

دلخواهتون تغيير بدين تا در استفاده نام اون كنترل بشه مثلآ اسم Commandاسم مناسبيه

در قسمت كد يوزر كنترل كد هاي زير رو بنويسيد

Option Explicit

'----------تعريف رويداد-----------------

Public Event Click()'x

Public Event Move(Button As Integer,Shift As Integer,X as Single,Y As Single)'x

'--------اگر رويدادي به صورت محلي(Private)تعريف بشه توليد خطا مي كنه

Dim X1!,Y1!,Can As Boolean

'--------تعريف خاصيت(Property)براي فهم دقيق مراجعه شود به پست كلاس چيست

Public Property Let Width1(Value As Integer)'x

'-------Let يعني تعيين كردن اين خاصيت براي تعيين عرض از سوي كاربر مي باشد

If Value >100 then Command1.Width=Value

End Property

Public Property Get Width1() As Integer

'به شكل تعريف اين دو متتد از يك خاصيت توجه كنيد---Getبراي فرستادن مقدار عرض موجود به درخواست كاربر مي باشد

Width1=Command1.Width

End Property

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

Private Sub Command1_MouseDown(Button%,Shift%,X!,Y!)'x

X1=X:Y1=Y:can=True

End Sub

Private Sub Command1_Click()'x

'-------صدا زدن رويدادي كه ايجاد كرديم-------

RaiseEvent Click() 'x

End Sub

Private Sub Command1_MouseMove(Button%,Shift%,X!,Y!)'x

If can=true then call Command1.move((command1.Left+X)-X1,(Command1.Top+Y)-Y1)'x

'-------صدا زدن رويدادي كه ايجاد كرديم-------

RaiseEvent Move(Button,shift,X,Y) 'x

End sub

Private Sub Command1_MouseUp(Button%,Shift%,X!,Y!)'x

Can=False

End sub

Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)'x
UserControl.BackColor = Ambient.BackColor
'-----Ambientيعني فرمي كه يوزر كنترل روي آن طراحي شده است
Command1.BackColor = Ambient.BackColor
End Sub

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

حالا يك عدد از آن را روي فرم درج كنيد و به اندازه ي نصف فرم بزرگش كنيد.

در رويداد moveمريوط به يوزر كنترل كه بالا آن را تعريف كريم كد زير را بنويسيد

Me.Caption = UserControl1.Width1
UserControl1.Width1 = X + 100

حالا اگر تمام مراحل را درست انجام داده با شيد باتكان دادن ماوس روي دكمه سايز آن تغيير مي كند ومي توانيد با كشيدن و رها كردن موقعيتش را تغيير دهيد

براي بهتر شدن اين پروژه بايد روي آن كار كنيد .نظر بدين سوال بپرسين وباي


توسط ناصر نيازي درشنبه 12 اسفند1385   16:51 | 

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

به جرات می شه گفت یکی از بهترین نوع پخش کنند ه هاست که از مدیا پلیر استفاده می کنه

مجموعه پلیر۴۰۸ کیلو بایت

سورس این مجموعه هم به زودی


توسط ناصر نيازي درجمعه 11 اسفند1385   15:34 | 

برای امروز یک فایل  حاوی هزاران کلاس وای پی آی آپ لواد کردم که نوش جونتون

دانلود دنیای کلاس و ای پی ای حجم 1.95مگابایت

فقط نظر یادتون نره


توسط ناصر نيازي درپنجشنبه 10 اسفند1385   9:50 | 

نحوه تولید DLL با ویژوال بیسیک

بعنوان یک زبان برنامه‌نویسی با توسعه سریع، ویژوال بیسیک نظر خیلی از برنامه‌نویسان را از جهت سادگی به خود معطوف کرد. برنامه‌نویسی با ویژوال بیسیک در کمترین زمان صورت می‌گیرد حال آنکه در مقابل زبانهایی چون C و ++C اغلب اوقات به روزها کار مفید نیاز است.
اما بیشترین انتقادی که برنامه‌نویسان از ویژوال بیسیک دارند در این است که قادر به تولید کتابخانه‌های پویا (DLL) نیست. حقیقتا این نظر مورد قبول است که نمی‌توان این نوع فایلها را در کنار فایلهای اجرایی(Exe) یا ActiveX Exe تولید کرد.
در این مقاله ما قصد داریم که نگاه دقیقی به نحوه تولید فایلهای اجرایی در ویژوال بیسیک یندازیم و بعد با طی مراحل ساده‌ای موفق به ایجاد فایلهای DLL بشویم تا از زیر بار این انتقاد نیز رهایی یابیم.
قبلا به این موضوع اشاره شد که فایهای DLL آن دست از برنامه‌هایی هستند که یکبار نوشته می‌شوند و در پروژه‌های بعدی بکرات می‌تواند از آنها استفاده برد. چیزی که هسته ویندور را تشکیل می‌دهد اینگونه فایلها هستند. علاوه بر آن تکنیک‌هایی وجود دارد که شما را قادر می‌سازد تا برنامه‌هایی بنویسید که قادرند خود را بروز برسانند و یا خود ترمیم باشند. بهتر از آن اینکه برنامه‌ای بنویسید که با الحاق اینگونه فایلها بدان قدرت و امکانات جدید بدان افزود. همانند نرم‌افزارهای رایج از جمله Winamp.

کتابخانه‌های پویای قابل اتصال (DLL) چه هستند؟

یک DLL مجموعه‌ای از توابع و پروسه‌هایی است که می‌تواند از برنامه یا DLLهای نظیر خود فراخوانده شود.

استفاده از اینگونه کتابخانه‌های دو مزیت اصلی دارد:
1- امکان به اشتراک گذاری از کد را فراهم می‌سازند. یک DLL می‌تواند مورد استفاده خیلی از برنامه‌های قرار گیرد. بعنوان مثال کتابخانه Win32 API نمونه‌ای از این سری فایلها است. بعلاوه از زمانی که پروسه‌های گوناگون قادر به فراخوانی یک DLL واحد هستند امکان به اشتراک گذاری کد‌ها و روتین‌ها فراهم آمده است. یک فایل DLL تنها یکبار به درون حافظه لود می‌شود و بارها توسط پروسه‌های گوناگونی مورد استفاده قرار می‌گیرد و این یعنی مدیریت حافظه بهتر.

2- مزیت دیگر امکان نوشتن برنامه‌ها بصورت اجزای منفصل است که این اجزا خود قابل تعویض با نگارش‌های جدیدتر جهت توسعه نرم‌افزار خواهند بود بدون اینکه خطی از کد برنامه اصلی دگرگون شود.

با این توصیف فایلهای کتابخانه‌ای درونی که در پروژه‌های مورد استفاده قرار می‌گیرد در صورت تغییر نیاز هست تا پروژه اصلی دوباره کمپایل شود تا بتوان با آن ارتباط بر قرار کرد. اما در DLL ها چون بصورت پویا و قابل انعطاف نوشته شده‌اند این اتصال در بیرون از بدنه اصلی و درست در زمان فراخوانی آن قبیل از متدها و توابع شکل می‌گیرد و این خود تفاوت آشکار از مزیت این گونه از فایلها می‌باشد.همچنین یک فایل DLL می‌تواند حاوی توابعی باشد که فقط مورد استفاده خود هست و از درون به آن دسترسی نخواهیم داشت و آندسته از تابعی را که نیاز هست معرفی می‌کنیم تا از بیرون بدان دسترسی داشته باشیم. در این مرحله نیاز به معرفی در فایلهای Def هست که در پروژه‌های C و C++ مورد استفاده قرار می‌گیرد.

و اما ساختار DLL
فایلهای DLL حاوی یک مدخل شروع انتخابی (optional entry point) و پایانی هستند که در زمانی که توسط برنامه‌های دیگر به درون حافظه لود یا آنلود می‌شوند قابل اجرا است. ویندوز این پروسه را در زمانی که یک برنامه DLLها را بدرون حافظه لود یا آنلود می‌کند اجرا می‌کند.
این دو نوع پروسه به DLL این امکان را می‌دهد که یک سری از مقدمات را پیش از استفاده مهیا کند یا بعد از استفاده پاکسازی نماید. در ویژال بیسیک این تابع بدین گونه تعریف می‌شود:

Public Function DllMain(hinstDLL As Long, fdwReason As Long , lpwReserved As Long) As Boolean

که پارامترهای آن بدین قرارند:
hInstDLL که حاوی یک مقدار یکتا بعنوان دستگیره فایل DLL است.
fdwReason مشخص کننده دلیل فراخوانی این پروسه توسط سیستم‌عامل است که یکی از چهار مقدار زیر را به خود منتصب می‌کند:
DLL_PROCESS_ATTACH (1): یک پروسه در حال لود DLL به دورن حافظه است. هر پیش‌نیاز باید در اینجا شکل گیرد.
DLL_THREAD_ATTACH (2): یک ریسمان (Thread) برای این DLL در حال تولید است. هر پیش‌نیاز برای ایجاد ریسمان در این مرحله می‌تواند شکل بگیرد.
DLL_THREAD_DETACH (3) ریسمان در حال پایان یافتن است. به منظور پاک‌سازی DLL از حافظه.
DLL_PROCESS_DETACH (0) فایل DLL در حال خروح از حافظه است. بمنظور پاک‌سازی سایر کارها توسط برنامه‌نویس امکان انجام در این مرحله فراهم آمده است.

lpvReserved: حاوی مقدار اضافی در استفاده از DLL_PROCESS_ATTACH یا DLL_PROCESS_DETACH می‌باشد.
مقدار برگشتی تابع DllMain در هنگام صدا زدن بصورت DLL_PROCESS_ATTACH مقدار TRUE را باید به خود بگیرد.

در تلاش برای تولید و توسعه یک DLL نمونه قصد این را داریم که یک کتابخانه ریاضی تشکیل دهیم. کد زیر در ماژولی بنام MathLib.Bas قرار می‌گیرد:

Option Explicit
Public Const DLL_PROCESS_DETACH = 0
Public Const DLL_PROCESS_ATTACH = 1
Public Const DLL_THREAD_ATTACH = 2
Public Const DLL_THREAD_DETACH = 3


Public Function DllMain(hInst As Long, fdwReason As Long, lpvReserved As Long) As Boolean
Select Case fdwReason
Case DLL_PROCESS_DETACH
' No per-process cleanup needed
Case DLL_PROCESS_ATTACH
DllMain = True
Case DLL_THREAD_ATTACH
' No per-thread initialization needed
Case DLL_THREAD_DETACH
' No per-thread cleanup needed
End Select
End Function


Public Function Increment(var As Integer) As Integer
If Not IsNumeric(var) Then Err.Raise 5

Increment = var + 1
End Function


Public Function Decrement(var As Integer) As Integer
If Not IsNumeric(var) Then Err.Raise 5

Decrement = var - 1
End Function


Public Function Square(var As Long) As Long
If Not IsNumeric(var) Then Err.Raise 5

Square = var ^ 2
End Function
*******************************

منبع دوست عزیزم


توسط ناصر نيازي درسه شنبه 8 اسفند1385   17:39 | 

امروز مي خام يه برنامه قشنگ ولي طولاني بنويسم

كه فقط بايد حوصله كنيد تا ياد بگيريد

افزودني ها

AutoReDraw=True:خاصيت:PictureBox:= 1- Pic3d ,2- picFLR ,3- PicFTB,4- PicXY ,4-PicTop,5- PicSTB

CommandButton:= 1-BUTNOKAY,2- BUTNStart,3-BUTNStop,4-BUTNReset,5-BUTNQuit

TextBox:=TEXTAngle

:Interval=100,Enabled=FalseخاصيتTimer:=Timer1

بعد از افزودن اشياع بالا و تنظيم خاصيت تعريف هاي زير رو به فرم اضافه كنيد

Dim Angle As Double 'The rotation angle
Dim AngleHolder As Double 'holder for previous rotation angle
Dim NumObjectSides As Integer 'Number of sides making up the object

Private Type Point 'The makeup of a point
X As Double 'the X location of the point
Y As Double 'the Y location of the point
Z As Double 'the Z location of the point
End Type
Dim Center As Point 'center of the picboxes

Private Type Verticies 'The verticies of a side
NumPoints As Integer 'The number of points on a line
Points(20) As Point 'the actual endpoints of each line
Normal As Point 'The normal of the Plane
End Type
Dim Sides(50) As Verticies 'the sides of the object
Dim XSides(50) As Verticies 'the X rotation points
Dim YSides(50) As Verticies 'the Y rotation points
Dim ZSides(50) As Verticies 'the Z rotation points
Dim Sides3D(50) As Verticies 'the 3D rotation of points

Dim CosAng(359) As Double 'A lookup table to hold the Cosine Angles
Dim SinAng(359) As Double 'A lookup table to hold the Sine Angles

Private Type POINTAPI 'This is the drawn Points of the
X As Long 'object to fill it and draw it fast
Y As Long 'using a win api function
End Type

Dim tmp() As POINTAPI
'This function is for drawing filled polygons Much faster than anything I wrote
Private Declare Function Polygon Lib "gdi32" _
(ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long

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


Private Function DrawShape(shape As Verticies, PicBox As PictureBox, View As String)

' add 75 to all points to center object

'determine view
If View = "FRONT" Then

'create lppoints for the win func call
ReDim tmp(shape.NumPoints) As POINTAPI

'fill in the drawing points tmp.x as the value going in the x dir etc
For i = 0 To shape.NumPoints
tmp(i).X = shape.Points(i).X + 75
tmp(i).Y = shape.Points(i).Y + 75
Next i

'Draw solid polygons

'calculate light value (ambient + Max * (normal of plane * light position)
Colr = 100 + 200 * (shape.Normal.Z)
'Fill object as solid
PicBox.FillStyle = 0
'Choose the color (this way makes a shade of yellow)
PicBox.FillColor = RGB(Colr, Colr, Colr / 2)
'draw the polygon
Polygon PicBox.hdc, tmp(0), shape.NumPoints + 1
'draw rest of objects transparently
PicBox.FillStyle = 1

ElseIf View = "TOP" Then

'creat lppoints for the win func call
ReDim tmp(shape.NumPoints) As POINTAPI

'fill in the drawing points tmp.x as the value going in the x dir etc
For i = 0 To shape.NumPoints
tmp(i).X = shape.Points(i).X + 75
tmp(i).Y = shape.Points(i).Z + 75
Next i

'Draw solid polygons

'calculate light value (ambient + Max * (normal of plane * light position)
Colr = 100 + 200 * (shape.Normal.Y)
'Fill object as solid
PicBox.FillStyle = 0
'Choose the color (this way makes a shade of yellow)
PicBox.FillColor = RGB(Colr, Colr, Colr / 2)
'draw the polygon
Polygon PicBox.hdc, tmp(0), shape.NumPoints + 1
'draw rest of objects transparently
PicBox.FillStyle = 1


ElseIf View = "SIDE" Then
'creat lppoints for the win func call
ReDim tmp(shape.NumPoints) As POINTAPI

'fill in the drawing points tmp.x as the value going in the x dir etc
For i = 0 To shape.NumPoints
tmp(i).X = shape.Points(i).Z + 75
tmp(i).Y = shape.Points(i).Y + 75
Next i

'Draw solid polygons
'calculate color value (ambient + Max * (normal of plane * light position)
Colr = 100 + 200 * (shape.Normal.X)
'Fill object as solid
PicBox.FillStyle = 0
'Choose the color (this way makes a shade of yellow)
PicBox.FillColor = RGB(Colr, Colr, Colr / 2)
'draw the polygon
Polygon PicBox.hdc, tmp(0), shape.NumPoints + 1
'draw rest of objects transparently
PicBox.FillStyle = 1

End If

End Function

Private Function VisiblePlane(shape As Verticies, CameraX As Integer, CameraY As Integer, CameraZ As Integer)
'this function takes the normal of the plane and returns True if visible FALSE if
'not visible

'Camera is the spot the object is being viewed from

'Find the dot product
D = (shape.Normal.X * CameraX) + (shape.Normal.Y * CameraY) + (shape.Normal.Z * CameraZ)

'return true if object is visible
VisiblePlane = D >= 0

End Function

Private Function FindNormals()
'This function finds the normal of each plane

For i = 0 To NumObjectSides
'Find the normal vector
With Sides(i)
' * * * * * * * *
Nx = (.Points(1).Y - .Points(0).Y) * (.Points(.NumPoints).Z - .Points(0).Z) - (.Points(1).Z - .Points(0).Z) * (.Points(.NumPoints).Y - .Points(0).Y)
Ny = (.Points(1).Z - .Points(0).Z) * (.Points(.NumPoints).X - .Points(0).X) - (.Points(1).X - .Points(0).X) * (.Points(.NumPoints).Z - .Points(0).Z)
Nz = (.Points(1).X - .Points(0).X) * (.Points(.NumPoints).Y - .Points(0).Y) - (.Points(1).Y - .Points(0).Y) * (.Points(.NumPoints).X - .Points(0).X)


'Normalize the normal vector (make length of 1)
Length = Sqr(Nx ^ 2 + Ny ^ 2 + Nz ^ 2)

.Normal.X = Nx / Length
.Normal.Y = Ny / Length
.Normal.Z = Nz / Length
End With
Next i

End Function

Private Function CreateTables()
'Create cosine and sine lookup table
For i = 0 To 359
CosAng(i) = Cos(i * (3.14159265358979 / 180)) 'convert degrees to radians
SinAng(i) = Sin(i * (3.14159265358979 / 180)) 'convert degrees to radians
Next i
End Function

Sub Redraw()

'clear the picboxes
PicXY.Cls
PicFRL.Cls
PicTop.Cls
PicFTB.Cls
PicSTB.Cls
Pic3D.Cls


'draw the front of the box in the stationary view
DrawShape Sides(0), PicXY, "FRONT"


'repeat loop 6 times once for each side the rotation of each point must
'be calculated to find the new position of the normal of each side to
'determine if it's visible
For j = 0 To 5
'**************************************************************
'draw the points for a top to bottom rotation (rotation around
'the X axis)
'**************************************************************

For i = 0 To Sides(0).NumPoints
XSides(j).NumPoints = Sides(0).NumPoints

XSides(j).Points(i).X = Sides(j).Points(i).X 'new x value
XSides(j).Points(i).Y = Sides(j).Points(i).Y * CosAng(Angle) - Sides(j).Points(i).Z * SinAng(Angle) 'new y value
XSides(j).Points(i).Z = Sides(j).Points(i).Z * CosAng(Angle) + Sides(j).Points(i).Y * SinAng(Angle) 'new z value

XSides(j).Normal.X = Sides(j).Normal.X
XSides(j).Normal.Y = Sides(j).Normal.Y * CosAng(Angle) - Sides(j).Normal.Z * SinAng(Angle) 'new y value
XSides(j).Normal.Z = Sides(j).Normal.Z * CosAng(Angle) + Sides(j).Normal.Y * SinAng(Angle) 'new z value

Next i

'check to see if plane is visible if so draw it
If VisiblePlane(XSides(j), 0, 0, 1000) Then
'Draw lines in top, top to bottom rotation
DrawShape XSides(j), PicFTB, "FRONT"
End If
If VisiblePlane(XSides(j), 1000, 0, 0) Then
'Draw points in side, top to bottom rotation view
DrawShape XSides(j), PicSTB, "SIDE"
End If



'**************************************************************
'draw the points for a left to right rotation (rotation around
'the Y axis)
'**************************************************************

For i = 0 To Sides(0).NumPoints
YSides(j).NumPoints = Sides(0).NumPoints

YSides(j).Points(i).X = Sides(j).Points(i).X * CosAng(Angle) + Sides(j).Points(i).Z * SinAng(Angle) 'new x value
YSides(j).Points(i).Y = Sides(j).Points(i).Y 'new y value
YSides(j).Points(i).Z = Sides(j).Points(i).Z * CosAng(Angle) - Sides(j).Points(i).X * SinAng(Angle) 'new z value

YSides(j).Normal.X = Sides(j).Normal.X * CosAng(Angle) + Sides(j).Normal.Z * SinAng(Angle) 'new x value
YSides(j).Normal.Y = Sides(j).Normal.Y 'new y value
YSides(j).Normal.Z = Sides(j).Normal.Z * CosAng(Angle) - Sides(j).Normal.X * SinAng(Angle) 'new z value

Next i

'check to see if plane is visible if so draw it
If VisiblePlane(YSides(j), 0, 0, 1000) Then
'Draw lines in front right to left rotation view
DrawShape YSides(j), PicFRL, "FRONT"
End If
If VisiblePlane(YSides(j), 0, 1000, 0) Then
'Draw lines in top right to left rotation view
DrawShape YSides(j), PicTop, "TOP"
End If
'cod Created By:NasserNiazy-Nasservb.blogfa.cm

'Rotate values rotated in X direction in Z direction to make "spinning effect"
For i = 0 To Sides(0).NumPoints
Sides3D(j).NumPoints = Sides(0).NumPoints

Sides3D(j).Points(i).X = XSides(j).Points(i).X * CosAng(Angle) + XSides(j).Points(i).Y * SinAng(Angle) 'new x value
Sides3D(j).Points(i).Y = XSides(j).Points(i).Y * CosAng(Angle) - XSides(j).Points(i).X * SinAng(Angle) 'new y value
Sides3D(j).Points(i).Z = XSides(j).Points(i).Z 'new z value

Sides3D(j).Normal.X = XSides(j).Normal.X * CosAng(Angle) + XSides(j).Normal.Y * SinAng(Angle) 'new x value
Sides3D(j).Normal.Y = XSides(j).Normal.Y * CosAng(Angle) - XSides(j).Normal.X * SinAng(Angle) 'new y value
Sides3D(j).Normal.Z = XSides(j).Normal.Z 'new z value

Next i

'check to see if plane is visible if so draw it
If VisiblePlane(Sides3D(j), 0, 1000, 0) Then
'Draw the 2 direction rotation
DrawShape Sides3D(j), Pic3D, "TOP"
End If
Next j

'draw centerpoint of each picbox in Blue
PicXY.Circle (Center.X, Center.Y), 30, RGB(0, 0, 255)
PicFRL.Circle (Center.X, Center.Y), 30, RGB(0, 0, 255)
PicTop.Circle (Center.X, Center.Y), 30, RGB(0, 0, 255)
PicFTB.Circle (Center.X, Center.Y), 30, RGB(0, 0, 255)
PicSTB.Circle (Center.X, Center.Y), 30, RGB(0, 0, 255)
Pic3D.Circle (Center.X, Center.Y), 30, RGB(0, 0, 255)

End Sub

سعي كردم داخل خود كدها توضيح هر قسمت رو بنويسم

مي پردازيم به كد دكمه ها.كد هاي زير را داخل فرم كپي كنيد

 

Private Sub BUTNOKAY_Click()
'set the angle and draw the rotation
AngleHolder = AngleHolder + 5 'increment the angle

If AngleHolder = 360 Then 'reset the angle back to 0
AngleHolder = 0
End If

TEXTAngle.Text = AngleHolder 'display the current angle
Angle = AngleHolder 'Set the angle for calculations

Redraw 'refresh the display

End Sub

Private Sub BUTNQuit_Click()
End 'end the program
End Sub

Private Sub BUTNReset_Click()
AngleHolder = 355 'reset so displayed angle will be 0
BUTNOKAY_Click 'set angles and displays, then redraw
End Sub

Private Sub BUTNStart_Click()
Timer1.Enabled = True 'start the autodraw timer
End Sub

Private Sub BUTNStop_Click()
Timer1.Enabled = False 'stop the auto draw timer
End Sub

Private Sub Form_Load()

'Form1.ScaleMode = vbTwips

Angle = 0 'initialize the angles
AngleHolder = 355
Center.X = Pic3D.Width / 2 'set the centers (all coordinates for the picboxes must be equal
Center.Y = Pic3D.Height / 2 'acroos picboxes for this to work)(i.e. the X dimension in left
Center.Z = Pic3D.Width / 2 'to right picbox must equal X dimension in top to bottom picbox)

'set points for rectangle (could be done in a better way loop etc.)
'Also shape does not have to be rectangle can be any shape
'front
Sides(0).Points(0).X = -20: Sides(0).Points(0).Y = -50: Sides(0).Points(0).Z = 20
Sides(0).Points(1).X = 50: Sides(0).Points(1).Y = -50: Sides(0).Points(1).Z = 20
Sides(0).Points(2).X = 50: Sides(0).Points(2).Y = 50: Sides(0).Points(2).Z = 20
Sides(0).Points(3).X = -20: Sides(0).Points(3).Y = 50: Sides(0).Points(3).Z = 20

'back
Sides(1).Points(0).X = 50: Sides(1).Points(0).Y = -50: Sides(1).Points(0).Z = -20
Sides(1).Points(1).X = -20: Sides(1).Points(1).Y = -50: Sides(1).Points(1).Z = -20
Sides(1).Points(2).X = -20: Sides(1).Points(2).Y = 50: Sides(1).Points(2).Z = -20
Sides(1).Points(3).X = 50: Sides(1).Points(3).Y = 50: Sides(1).Points(3).Z = -20

'Top
Sides(2).Points(0).X = -20: Sides(2).Points(0).Y = -50: Sides(2).Points(0).Z = -20
Sides(2).Points(1).X = 50: Sides(2).Points(1).Y = -50: Sides(2).Points(1).Z = -20
Sides(2).Points(2).X = 50: Sides(2).Points(2).Y = -50: Sides(2).Points(2).Z = 20
Sides(2).Points(3).X = -20: Sides(2).Points(3).Y = -50: Sides(2).Points(3).Z = 20

'bottom
Sides(3).Points(0).X = -20: Sides(3).Points(0).Y = 50: Sides(3).Points(0).Z = 20
Sides(3).Points(1).X = 50: Sides(3).Points(1).Y = 50: Sides(3).Points(1).Z = 20
Sides(3).Points(2).X = 50: Sides(3).Points(2).Y = 50: Sides(3).Points(2).Z = -20
Sides(3).Points(3).X = -20: Sides(3).Points(3).Y = 50: Sides(3).Points(3).Z = -20

'Lside
Sides(4).Points(0).X = -20: Sides(4).Points(0).Y = -50: Sides(4).Points(0).Z = -20
Sides(4).Points(1).X = -20: Sides(4).Points(1).Y = -50: Sides(4).Points(1).Z = 20
Sides(4).Points(2).X = -20: Sides(4).Points(2).Y = 50: Sides(4).Points(2).Z = 20
Sides(4).Points(3).X = -20: Sides(4).Points(3).Y = 50: Sides(4).Points(3).Z = -20

'Rside
Sides(5).Points(0).X = 50: Sides(5).Points(0).Y = -50: Sides(5).Points(0).Z = 20
Sides(5).Points(1).X = 50: Sides(5).Points(1).Y = -50: Sides(5).Points(1).Z = -20
Sides(5).Points(2).X = 50: Sides(5).Points(2).Y = 50: Sides(5).Points(2).Z = -20
Sides(5).Points(3).X = 50: Sides(5).Points(3).Y = 50: Sides(5).Points(3).Z = 20

'set the number of edges for each side
For i = 0 To 5
Sides(i).NumPoints = 3
Next i

'set the number of sides the object has
NumObjectSides = 5

'Calculate the Normals
FindNormals

'Create the Lookup table for the Cos and Sin functions.
'This method is much faster than calculating each step
CreateTables

'set angles and displays, then redraw
BUTNOKAY_Click

End Sub
Private Sub Timer1_Timer()
'rotate the rectangle
BUTNOKAY_Click
End Sub

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


توسط ناصر نيازي درشنبه 5 اسفند1385   0:17 | 

امروزيه برنامه خوب برتون دارم ولي ولش كن نظر كه نمي دين
براي چي پست كنم شوخي كردم بابا
چطور مي شه يه فرم رو شيشه اي كرد.يعني بشه اونطرفش رو ديد!!.راستي اينو بگم تا يادم نرفته
به يكي مي گن جسم شفاف چيه مي گه جسمي كه بشه از اين طرف اونطرفش رو ديد مثلآ نردبون!! داشتم
مي گفتم اين برنامه با يه تابع كه توي كتابخانهUser32امكان پذيره براي
اين كار توابع زير روتعريف(Declare)كنيد

Option Explicit

Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2

Private Declare Function GetWindowLong Lib "user32" _
, Alias "GetWindowLongA" (ByVal hWnd As Long _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) _
As Long

Private Declare Function SetLayeredWindowAttributes Lib _
"user32" (ByVal hWnd As Long, ByVal crKey As Long _
,ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

بعد يه اسكرول افقي با خصيت Max=100را فرم اضافه كنيد
تابع زير را نيز به فرم اضافه كنيد

Public Function TranslucentForm(frm As Form, TranslucenceLevel As Byte) As Boolean
SetWindowLong frm.hWnd, GWL_EXSTYLE, WS_EX_LAYERED

SetLayeredWindowAttributes frm.hWnd, 0, TranslucenceLevel, LWA_ALPHA

TranslucentForm = Err.LastDllError = 0

End Function

در Form_Loadكد زير را بنويسيد
TranslucentForm Me, 255
در كد تغييرChangeاسكرول كد زير رابنويسيد
TranslucentForm Me, HScroll1.Value
اين حالت يعني كم رنگ كردن فرم من در جايي نديدم كه استفاده بشه چون بسيار به سيستم فشار مياره.و
تقريبآ يه حالت هنك مانند ايجاد مي كنه


توسط ناصر نيازي درپنجشنبه 3 اسفند1385   0:24 | 

همونطور كه قبلآ هم قول داده بودم امروزبراتون سوالات كنكور كامپيوتر سال85 رو آماده كردم

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

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

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

عجيب در من ايجاد مي كرد ولي چه كنم كه شايد اگه پارسال منابع بيشتري داشتم الان اين مطالب رو نمي نموشتم وشايد در

موردمخ زني ودختر بازي مي نوشتم ولي يكي بايد اين كار را مي كردم تابقيه (دهاتيا) به سر نوشتم دچار نشوند .مال 84 رو هم دارم اگه خواستين بگين

اگر نمي توانيد بخوانيد از حالت تمام صفحه استفاده كنيد!! بگذريم راستي اين نظر ندادنتون منو كشته

 

توسط ناصر نيازي درچهارشنبه 2 اسفند1385   0:7 | 

سلام از اونجايي كه تصميم گرفتم پست هام رو با هم بفرستم تا بلكه شما نظر بدين بهش امروز هم دو سه تا پست دارم
يك-مخفي كردن منوي استارت از سري آموزش هاي قبلي
احتياج داريد كه اينگونه تعريف مي شودuser32.dllبراي مخفي كردن منوي استارت به يك تابع از كتابخانه

Option Explicit

Dim hwnd1 As Long

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Const SWP_HIDEWINDOW = &H80

Const SWP_SHOWWINDOW = &H40


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


Hwnd1=FindWindow("Shell_traywnd","")
call SetWindowPos(Hwnd1,0,0,0,0,0,SWP_HIDEWINDOW)


كد ظاهر كردن استارت


call SetWindowPos(Hwnd1,0,0,0,0,0,SWP_SHOWWINDOW)


خوب صفا كردين-حالا يه نظر بدن تا بعديشو بگم
دو-چطور مي شه آيكون يك برنامه رو از كالبدش كشيد بيرون وبه صورت فايل آيكون ذخيره كرد
اين آموزش از سري آموزشي كتابخانه قدرتمند شل هست كه قبلآ هم يكي دو تا شو گفتم
يك ماژول به پروژه (اوه كيبردم عجب گردو خاكي گرفته!!) اضافه كنيدوكد زير را داخلش كپي كنيد


Public Const MAX_PATH = 260
Public Const SHGFI_DISPLAYNAME = &H200
Public Const SHGFI_EXETYPE = &H2000
Public Const SHGFI_SYSICONINDEX = &H4000 ' System icon index
Public Const SHGFI_LARGEICON = &H0 ' Large icon
Public Const SHGFI_SMALLICON = &H1 ' Small icon
Public Const ILD_TRANSPARENT = &H1 ' Display transparent
Public Const SHGFI_SHELLICONSIZE = &H4
Public Const SHGFI_TYPENAME = &H400
Public Const BASIC_SHGFI_FLAGS = SHGFI_TYPENAME _
Or SHGFI_SHELLICONSIZE Or SHGFI_SYSICONINDEX
Or SHGFI_DISPLAYNAME Or SHGFI_EXETYPE

Public Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type

Public Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" _
(ByVal pszPath As String, _
ByVal dwFileAttributes As Long, _
psfi As SHFILEINFO, _
ByVal cbSizeFileInfo As Long, _
ByVal uFlags As Long) As Long

Public Declare Function ImageList_Draw Lib "comctl32.dll" _
(ByVal himl&, ByVal i&, ByVal hDCDest& _
,ByVal x&, ByVal y&, ByVal flags&) As Long

Public shinfo As SHFILEINFO
'--------------------------

يه دكمه به برنامه اضافه كنيدImageحالا يك تكست بكس وبادوتا
آدرس فايل اجرايي را داخل تكست بكس بنويسيدودر كد كليك دكمه كد
زير را بنويسيد


Dim hImgSmall As Long
Dim FileName As String
Dim r As Long

FileName$ = Text1.Text

hImgSmall& = SHGetFileInfo(FileName$, 0&, shinfo, Len(shinfo), BASIC_SHGFI_FLAGS Or SHGFI_SMALLICON)

hImgLarge& = SHGetFileInfo(FileName$, 0&, shinfo, Len(shinfo), BASIC_SHGFI_FLAGS Or SHGFI_LARGEICON)

Label1.Caption = Left$(shinfo.szDisplayName, InStr(shinfo.szDisplayName, Chr$(0)) - 1)

Label2.Caption = Left$(shinfo.szTypeName, InStr(shinfo.szTypeName, Chr$(0)) - 1)

image1.Picture = LoadPicture()
image2.Picture = LoadPicture()

r& = ImageList_Draw(hImgSmall&, shinfo.iIcon, image1.hDC, 0, 0, ILD_TRANSPARENT)
r& = ImageList_Draw(hImgLarge&, shinfo.iIcon, image2.hDC, 0, 0, ILD_TRANSPARENT)


نه خداييش بازم نظر نمي دين حالا اينو داشته باشين
سه-چطور مي شه دكمه بستن پنجره در گوشه فرم رو غير فعال كرد
شايد غير فعال كرد دكمه هاي تمام صفحه و كمينه رو بلد باشين ولي
ديگه فرم خاصيت غير فعال كردن دكمه كلوز رو نداره مگه كنترل بوكس فرم رو
برداريم يا اصلآ فرم رو از نوع بدون منوي بالا وتيتر انتخاب كنيم
ولي با اين كد مي تونين با داشتن تمام كنترل ها فقط دكمه كلوز رو غير فعال كنين
تابع زير رو تعريف كنيد


Public Const SC_CLOSE = &HF060
Public Const MF_BYCOMMAND = &H0
Public Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long
Public Declare Function DeleteMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Public Sub DisableXbutton(ByVal frmHwnd As Long)
Dim hMenu As Long
hMenu = GetSystemMenu(frmHwnd, 0&)
If hMenu Then
Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
DrawMenuBar (frmHwnd)
End If
End Sub


بنويسيدForm_Loadحالا كد زير رو داخل

DisableXbutton (Me.hwnd)

ببينم بازم نظر نمي دين


توسط ناصر نيازي درسه شنبه 24 بهمن1385   10:48 | 

امروز مي خوام يه تابع بنويسم كه ديگه وجدانتون بهتون اجازه نده بخونيدو نظر ندين

رو غير فعال كنهCRTL_ALT_Deletاين تابع كه مي گم مي تونه كليد هاي

البته حتمآ بايد سريع به حالت قبل برگردونيد چون موندن اين حالت زياد جالب نيست

طريقه فراخواني

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long

Private Const SPI_SCREENSAVERRUNNING = 97

DesabledوEnabledحالا دو تا كامند به فرم اضافه كنيد به اسم هاي
كد دكمه غير فعال كرد ن

Private Sub Disabled_Click()

Dim Ret As Long
Dim pOld As Boolean
Ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0)

End Sub

نيز فراخواني كنيدUnloadكد فعال سازي اين كليد ها بهتر است اين كد هار در فرم

Private Sub EnableD_Click()

Dim Ret As Long
Dim pOld As Boolean
Ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld, 0)

End Sub

راستي اين كد رو هم توي پروژه ديگه تست كنيد-تارخ فارسي

MsgBox WeekdayName(Weekday(Date), False, vbSunday) & ", " & VBA.MonthName(VBA.Month(Date)) & " " & Day(Date) & ", " & VBA.Year(Date), vbOKOnly + vbInformation, "The date"

موفق باشيد


توسط ناصر نيازي دردوشنبه 23 بهمن1385   14:57 | 

بسيار مفيد رو براتون معرفي كنم كه خيلي هم پر كاربردهAPIمي خوام امروز 2

ويندوز رو ظا هر كردBrows Folderچطور مي توان كادر-

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

يك ماژول ايجاد كنيد و كد هاي زبر رابنويسيد

'------Typing New data For BrowsForm---------------------
Public Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type

'---------------Conset For BrowsForm--------------------
Public Const BIF_RETURNONLYFSDIRS = 1
Public Const BIF_DONTGOBELOWDOMAIN = 2
Public Const MAX_PATH = 260

'-----------------------Declareing API------------------------------------------
Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long

حال در جايي كه مي خواهيد كادر ظاهر شود كد زير رابنويسيد

Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
szTitle = "Select Folder... "
With tBrowseInfo
.hWndOwner = Me.hwnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
msgbox( sBuffer)
End If

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

را ظا هر كرد(Propertis)چطور مي توان كادر خصوصيات مربوط به يك فايل-

كادر خصوصيات اكثرآ در نوشتن يك كاد آرشيو يا ليست فايل كاربرد دارد كه شما روي نام فايل راست كليك مي كنيد و اين گزينه را معمولآ در انتهاي ليست انتخاب مي كنيد واين كادر ظاهر ميشود نوشتن چنين كد هايي باعث حرفه شدن برنامه ي شما مي گردد

به ماژولمان كد هاي زير را اضافه كنيد

'------Typing New data For Propertis File---------------------
Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
'---------------Conset For Propertis Dialog-------------------
Public Const SEE_MASK_INVOKEIDLIST = &HC
Public Const SEE_MASK_NOCLOSEPROCESS = &H40
Public Const SEE_MASK_FLAG_NO_UI = &H400
Public Const ATTR_NORMAL = 0
Public Const ATTR_READONLY = 1
Public Const ATTR_HIDDEN = 2
Public Const ATTR_SYSTEM = 4
Public Const ATTR_VOLUME = 8
Public Const ATTR_DIRECTORY = 16
Public Const ATTR_ARCHIVE = 32
'-----------------------Declareing API------------------------------------------
Declare Function ShellExecuteEX Lib "shell32.dll" Alias _
"ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long

'-----------------------------------------------------------------------------------------

Public Function ShowFileProperties(filename As String, OwnerhWnd As Long) As Long
Dim SEI As SHELLEXECUTEINFO
With SEI
.cbSize = Len(SEI)
.fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
.hwnd = OwnerhWnd
.lpVerb = "properties"
.lpFile = filename
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
ShellExecuteEX SEI
ShowFileProperties = SEI.hInstApp
End Function


حالا هر فايلي را كه مي خواهيد خصوصيياتش نمايش داد شود به اين تابع به صورت زير ارسال كنيد-پاس دهيد

ShowFileProperties(FileName,Me.hwnd)

نظر يادت نره با مرام


توسط ناصر نيازي دریکشنبه 22 بهمن1385   10:43 | 

چطور ميتوان سطل آشغال ويندوز رو خالي كرد

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

سري قبل اين اموزش رو در مورد كنترل سي پي يو (تاكس منيگر)ويندوز نوشتم

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

شيوه ي تعريف كتابخانه

Private Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" (ByVal hWnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long
Const SHERB_NOPROGRESSUI = &H2

شيوه ي استفاده

Private Sub Command1_Click()
Dim retvaL
retvaL = SHEmptyRecycleBin(Form1.hWnd, "", SHERB_NOPROGRESSUI)
End Sub

عزيزان توجه كنيد خالي كرد سطل آشغال بدون اجازه كابر مي تونه خيلي ناخوشايند باشه.ويعضي از كاربران مبتدي اون رو نوعي حافظه و درايو جدا حساب ميكنن وبعضي چيز هاشون رو اونجا مخفي مي كنند

موفق باشيد


توسط ناصر نيازي درجمعه 20 بهمن1385   15:26 | 

سلام امروز چطورين وژدانن روزگار به كامتونه يا نه.امروز كلي زور زدم به تابه ترو تميز و كوچلو تو توابع ويندوز پيدا كردم

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

مربوط به اسكرول رو روي100 بزارينMaxخاصيت

تايمر رو روي 50 بزارينIntervalخاصيت

اين كدها رو اولين خط فرم بنويسيد

'----------Type New Data For Memory------------------
Private Type MEMORYSTATUS
dwlength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type '------------------Declear API Of Kernal Windows Librery-------------
Private Declare Sub GlobalMemoryStatus Lib "KERNEL32" (lpBuffer As MEMORYSTATUS)
Dim Mem As MEMORYSTATUS

روي تايمر دابل كليك كنيد و كد زير را بنويسيد

GlobalMemoryStatus Mem
Me.Caption = Mem.dwMemoryLoad & "% used"
Label1.Caption = "Memory used: " & Mem.dwMemoryLoad & "%"
Label2.Caption = "Total Physical Memory: " & Mem.dwTotalPhys
Label3.Caption = "Available Physical Memory: " & Mem.dwAvailPhys
Label4.Caption = "Page File Bytes: " & Mem.dwTotalPageFile
Label5.Caption = "Available bytes of Page File: " & Mem.dwAvailPageFile
Label6.Caption = "Total Virtual bytes: " & Mem.dwTotalVirtual
Label7.Caption = "Available Virtual Bytes: " & Mem.dwAvailVirtual
HScroll1.Value = Mem.dwMemoryLoad

با كداي بالا مي تونين كاركرد سي پي يو ورم رو مشاهده كنيد مثل تكس منيگر خود ويندوز

نظر كه يادت هست آفرين ايوللا بجنب


توسط ناصر نيازي درپنجشنبه 19 بهمن1385   0:2 | 

پاسخ به سوالات شما

چطور مي توان از دكستاپ عكس گرفت
اين خط رو در اولين خط كد فرم بنويسيد-براي مبتدي ها

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long

طريقه استفاده

Private Sub Form_load()
Dim W, H
W = Screen.Width / 15
H = Screen.Height / 15
StretchBlt hdc, 0, 0, W, H, GetDC(0&), 0, 0, W, H, vbSrcCopy
End Sub

كشيدن يك دايره روي فرم با كد نويسي-نمودار دايره اي-بيضي

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
PI = 3.14159265
For i = 0 To 161 Step 10
Me.Circle (219, 167), i, RGB(0, 0, 0), 360 * (PI / 180), 360 * (PI / 180), 1
Next
End Sub

آنرا به 3 تغيير دهيد.داشتم مي گفتم پارامتر سوم براي شعاع دايره -اندازه آن-پارامتر چهارمscalmode توضيحات: پارامتر اول ودوم مكان ترسيم دايره اگر دايره در فرم شما رسم نشد خاصيت
براي رنگ پنجم براي نقطعه شروع وششم براي نقطه ي پايان اين دو تا براي رسم نمودار دايره اي بكار مي روند.پارامتر آخر هم براي رسم بيضي استفاده مي شود

چگونه مي توان يك مداد درست كرد مانند برنامه نقاشي ويندوز
كد زير را بنويسيدMouseMoveدر كد

If Button <> vbright Then Me.PSet (X, Y)

چطور مي توان يك قطره چكان درست كرد كه روي هر گزينه رفت رنگ پيش فرض رنگ انجا شود
عكس بنويسيدMouseMoveبه فرم اضافه كنيد يك عكس داخل كادر عكس قرار دهيد و كدزير را در رويدادPictureويكLabelيك

Label1.BackColor=Picture1.Point(X,Y)

چطور مي توان يك عكس را معكوس كرد

منظورت ازمعكوس اگه معكوس خود عكس در طراحي باشه كد زير جوابش هست

With Picture1
.PaintPicture .Picture, 0, .Height, .Width, -.Height
End With

ولي اگه منظورت معكوس رنگ باشه كد زير جوابش هست

With Picture1
.PaintPicture .Picture, 0, 0, , , , , , , vbDstInvert
End With

يراي موقعي به كار مي رود كه از يك اسم زياداستفاده مي كنيم.اسم را جلوي آن مينويسيم وهر وقت يك دات بزنيم قابل استفاده استWithتوضيحات:ِ
پارامتر اول يراي عكسي كه ميخواهيم از آن براي ترسيم استفاده كنيم.دوم و سوم براي نقطه شروع ترسيم .چهارم و پنجم براي اندازه تصوير ترسيمي.ششموهفتم براي نقطه پايان ترسيم.هشتم ونهم براي اندازه هاي پاياني ترسيم وپارامتر آخر براي نوع ترسيم

چطور ميشه يك عكس رو روشن تر كرد يا پر رنگ
واه! پسر عجب سوالي پرسيدي.ولي از اونجايي كه اينجانب خيلي به ندرت كم مياره اينم جوابت

Private Declare Function SetPixelV Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Byte
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long

Private Sub CmdBrightness_Click()
'variables for brightness, color calculation, positioning
Dim Brightness As Single
Dim NewColor As Long
Dim x, y As Integer
Dim r, g, b As Integer
'change the brightness to a percent
Brightness = TxtBrightness / 100
'run a loop through the picture to change every pixel
For x = 0 To Picture1.ScaleWidth
For y = 0 To Picture1.ScaleHeight
'get the current color value
NewColor = GetPixel(Picture1.hDC, x, y)
'extract the R,G,B values from the long returned by GetPixel
r = (NewColor Mod 256)
b = (Int(NewColor / 65536))
g = ((NewColor - (b * 65536) - r) / 256)
'change the RGB settings to their appropriate brightness
r = r * Brightness
b = b * Brightness
g = g * Brightness
'make sure the new variables aren't too high or too low
If r > 255 Then r = 255
If r < 0 Then r = 0
If b > 255 Then b = 255
If b < 0 Then b = 0
If g > 255 Then g = 255
If g < 0 Then g = 0
'set the new pixel
SetPixelV Picture1.hDC, x, y, RGB(r, g, b)
'continue through the loop
Next y
'refresh the picture box every 10 lines (a nice progress bar effect)
If x Mod 10 = 0 Then Picture1.Refresh
Next x
'final picture refresh
Picture1.Refresh
End Sub

احتياج داريد كه متن درون آن به درصد برابر ميزان روشنايي استTxtBrightnessيك كادر متن به نامCmdBrightnessحال كردين با توضيحات كامل-براي كد بالا يك كامند به نام

چگونگي زدن تيف رنگ (مثلآ سبز به سياه) به يك فرم
فرم كد زير رابنويسيدLoad.در رويداد

On Error GoTo B
Dim r%, F%, Heght%, Wath%, X%, Color$ '--\/\/\/ Set Color Of Form
Color = "Red_Black" '----------------تعيين تيف رنگ
Heigh = Me.Height + 200: Widt = Me.Width
F = Heigh \ 255: r = 0
Select Case Color
Case "Red_Black": GoTo 1
Case "With_Red": GoTo 2
Case "Green_Black": GoTo 3
Case "With_Green": GoTo 4
Case "Blue_Black": GoTo 5
Case "With_Blue": GoTo 6
Case "With_Black": GoTo 7
End Select
Exit Sub '---------------------------Main--------------------------------------------
1
For i = 0 To Heigh Step F
r = r + 1
If r = 20000 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(250 - r, 0, 0)
Next X
Next i: GoTo B
2 '--------------------------------------------------------------------------------
For i = 0 To Heigh Step F
r = r + 1
If r = 20000 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(250, 254 - r, 255 - r)
Next X
Next i: GoTo B
3 '--------------------------------------------------------------------------------
For i = 0 To Heigh Step F
r = r + 1
If r = 20000 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(0, 250 - r, 0)
Next X
Next i: GoTo B
4 '--------------------------------------------------------------------------------
For i = 0 To Heigh Step F
r = r + 1
If r = 20000 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(250 - r, 255, 255 - r)
Next X
Next i: GoTo B
5 '--------------------------------------------------------------------------------
For i = 0 To Heigh Step F
r = r + 1
If r = 255 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(0, 0, 250 - r)
Next X
Next i: GoTo B
6 '--------------------------------------------------------------------------------
For i = 0 To Heigh Step F
r = r + 1
If r = 20000 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(250 - r, 250 - r, 255)
Next X
Next i: GoTo B
7 '--------------------------------------------------------------------------------
For i = 0 To Heigh Step F
r = r + 1
If r = 9000 Then Exit For
For X = i To F + i
Me.Line (0, X)-(Widt, X), RGB(250 - r, 250 - r, 250 - r)
Next X
Next i '--------------------------------------------------------------------------------
B:
Set Me.Picture = Me.Image

آه دستم داغون شد عزيزان ميتونيد اين كد رو خيلي كوتاه استفاده كنيد وهرخط چيني كه مربوط به رنگ خودتونه رو نگه داريد بقيه رو حذف كنيد.با كمي دقت مي توانيد رنگ هاي جديد بسازيد

چگونه سا عت ديجيتال بسازيم(كامپيوتري)-ساعت يا كنتور

به فرم اضافه كنيدPictureكوتاهترين راه براي ساخت يك ساعت روش زير است يك

Private Sub Form_Load()
Static Score As Long
Counter.Show
DoEvents
Score = 0
For I = 1 To 1265
DisplayNumber 10, Score
Score = I
DoEvents
Next
End Sub'-------------------------------------------------------------------
Private Sub DisplayNumber(DisplayWidth As Integer, TheNumber As Long)
Dim DisplayString As String, Zeros As Integer, GraphicsHeight As Single
Dim DigitValue As Integer, NumPosition As Integer
'--------------------Start Time---------------
GraphicsHeight = Picture1.ScaleHeight / 2
Zeros = DisplayWidth - Len(Trim(TheNumber))
For I = 0 To Zeros - 1
DisplayString = DisplayString & "0"
Next
DisplayString = DisplayString & Trim(Str(TheNumber))
For I = 0 To DisplayWidth - 1
DigitValue = Val(Mid(DisplayString, I + 1, 1))
If DigitValue = 0 Then NumPosition = 10 Else NumPosition = DigitValue _
Counter.PaintPicture Picture1.Image, I * (Picture1.ScaleWidth / 10), 0, _
Picture1.ScaleWidth / 10, Picture1.ScaleHeight / 2, (NumPosition - 1) _
* (Picture1.ScaleWidth / 10), GraphicsHeight, Picture1.ScaleWidth / 10, Picture1.ScaleHeight / 2
Next
End Sub

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

روخاسته بودن "GDI32.Dll"يكي از دوستان ليست تمامي توابع موجود در فايل
تورو خدا به من رحم كنيد!!.شوخي كردم به زودي
براي امروز ديگه كافيه - فقط نظر يادتون نره


توسط ناصر نيازي درسه شنبه 17 بهمن1385   21:41 | 

درست كنيمM3Uبا پسوندPlayList چطور يك فايل

SavePlaylistگاهي وقتي عده ي زيادي فايل را در مدا پلير يا وينمپ باز مي كنيم يك گزينه به نام

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

با اين تابع اين كار را انجام دهيد

Public Sub SaveList(OutPath As String,Lst as ListBox)
On Error Resume Next '--------------------------------------------------
Dim T3 As String, T2, strans As String, L As Single, i As Integer
T3 = "": T2 = ""
If Lst.List(1) = "" Then
strans = MsgBox("File Not Found!", vbCritical)
Exit Sub '------------------------------------------------------
End If
If UCase(Right(OutPath, 3)) <> "M3U" Then Exit Sub
Open OutPath For Output As #1
Print #1, "#EXTM3U:"
For i = 1 To Lst.ListCount '----------------------------
Print #1, "#EXTNIF:"
Print #1, Lst.List(i)
Next i '------------------------------------------------------
Close #1
End Sub

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

SaveList "C:\1.M3U",List1

نظردادن يادتون نره


توسط ناصر نيازي دردوشنبه 16 بهمن1385   19:39 | 

كنترل خطا

مثلمآ هيچيك از ما دوست نداريم جلوي دوستامون يا مدير مدرسه يا معلم برنامه مون با يك خطاي مهلك مثلآ سينتكس متوقف بشه هميشه دوست داريم

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

رو پيش بيني كنه ولي روش هايي براي جلو گيري از اعلام خطا وجود داره

ON Errorدستور

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

On Error Resume Next---On Error GoTo Label Name

در حالت سمت چپ به برنامه مي گيم اگه خطا شد ازش صرف نظر كن وبه دستور بعدي برو

On Error GoTo Label Name ولي هميشه توصيه مي شه از حالت سمت چپ استفاده شود.در مدل

مي نويسيم Label Name ما بايد يك برچسپ به هر نامي كه مي خواهيم ايجاد مي كنيم ونام انرا به جاي
مثال

Private Sub Form_Load()

On Error GoTo MyName

Int D=12 \ 0

Exit Sub

MyName:

MsgBox "Division By Zero Is Invalid!!"

End sub

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

را ننويسيد در هر بار كه برنامه اجرا شود دستورات برچسب اجرا مي شود حالExit Sub
را با هم بهOn Errorچه خطا رخ دهد چه رخ ندهد. مي توانيد در يك رويداد چندين دستور

كا رببريد وبراي هر كدام يك برچسب رسيدگي درست كنيد .مي توانيد از يك برچسب براي همه استفاده كنيد و خطاها را با شماه اش تشخيص دهيد .مثال

Private Sub Form_Load()

On Error GoTo MyName

Int D=12 \ 0

Exit Sub

MyName:

select case Err.Number

Case 11: MsgBox "Division By Zero Is Invalid!!"

End Select

End sub

اطلا عات خطا را در خود نگاه ميدارد .در برنامه بالا مي توانيد هر خطا را به Errشي

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

براي اينكار بايد خطي كه مي خواهيد برنامه از انجا ادامه پيدا كند را شماره گزاري كنيد يا زير يك برچسب بنويسيد واز اين

Resume LabelName Or Line Numberعبارت استفاده كنيد

بنويسيد برنامه از هرجا كه خطاResume Nextاگر اول يك خط يك شماره بنويسيد آن خط را شماره گزاري كرده ايد.اگر

نظر يادتون نره.Errشده ادامه مي دهد.توضيحات شي

متد/خصيصه
نوع داده
توضيحات
Discription
Strint
توضيحي در مورد خطا
Number
Long
شماره خطا- تعيين اتوماتيك
Sourcee
String
نام فايلي كه خطا در ان رخ داده
متدد ها
-
توضيحات
Clear
-
پاك شدن كل خطاها
Raise
-
فعال كردن خطا

توسط ناصر نيازي دریکشنبه 15 بهمن1385   20:50 | 

تنظيم ابعاد نمايش ويندوز براي يك برنامه اختصاصي

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

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

ابتدا متغيير هاي اول فرم

Dim Dx As New DirectX7
Dim Dd As DirectDraw4
Dim clip As DirectDrawClipper

البته بعد از نوشتن كد بالا به منوي پروژه رفته گزينه ريفرنس رو انتخاب كنيد در منوي باز شده تيك گزينه ي دايركت ايكس 7 رو بزنيد

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

Set Dd = Dx.DirectDraw4Create("")
Set clip = Dd.CreateClipper(0)
clip.SetHWnd Me.hWnd
' screen mode
Dd.SetDisplayMode 800, 600, 32, 0, DDSDM_DEFAULT

بااين كد صفحه نمايش به مد 800*600و حالت 32بايتي ميره اگه مدي ديگري رو مي خوايد بايد جاي اين گزينه ها بنويسيد


توسط ناصر نيازي درپنجشنبه 12 بهمن1385   8:15 | 


سلام
امروز می خوام براتون از بعضی خواص فرم ها بگم
1-appearance =این خاصیت مشخص میکند که فرم به صورت سه بعدی (3D) باشد یا تخت (flat)
2-Back Color=این خاصیت رنگ زمینه فرم را مشخص میکند
3-Border style=این خاصیت اگر بر روی(0-None)باشد فرم را بدون حاشیه و دکمه های مینیمایز و ماکسیمایز وبستن نشان میدهد و کاربر نمی تواند آن را تغییر اندازه بدهد و اگر بر روی(1-Fixed single)باشد فرم را با حاشیه و دکمه بستن نشان میدهد و کاربر نمی تواند آن را تغییر اندازه بدهد و اگر بر روی(2-Sizable) باشد تمام دکمه ها و حاشیه فرم را نشان میدهد.
4-Icon=این خاصیت آیکون برنامه را مشخص می کند
5-Max button=این خاصیت فعال یا غیر فعال بودن دکمه ماکسیمایز را مشخص می کند
6- Min button=این خاصیت فعال یا غیر فعال بودن دکمه مینیمایز را مشخص می کند
7-Mouse icon=این خاصیت شکل نشانگر موس را تعیین می کند
8-Mouse Pointer=این خاصیت نوع شکل نشانگر موس را مشخص می کند مثل ساعت شنی یا دست شدن نشانگر
9-Movable=این خاصیت مشخص میکند که آیا کاربر اجازه دارد که فرم را جابجا کند یا نه
10-Picture=عکس زمینه فرم را مشخص می کند
11-ShowIn Taskbar=مشخص می کند که برنامه در تسکبار دیده شود یا نه
12-Startup position=محل قرار گرفتن فرم در هنگام شروع برنامه را مشخص می کند
13-Window state=نوع نمایش پنجره در هنگام شروع برنامه(مینیمایز/ماکسیمایز/نرمال


توسط ناصر نيازي دریکشنبه 1 بهمن1385   15:19 | 

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

است.مثال

shell "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"كادر ساعت

كتابخانه وسيع شل

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 "Explorer.exe"+" http://www.tcvb.blogfa.com"رفتن به يك سايت

shell "explorer.exe"+" maileto:Nasser_tcvb@yahoo.com"كادر ارسال ايميل

shell "explorer.exe"+" yor HTML File.html"كادر اجراي يك فايل اينترنت از حافظه

shell "explorer.exe"+" file://www.سايت شما.com/11.zip"كادردانلود يك فايل از اينتر نت


توسط ناصر نيازي درچهارشنبه 20 دی1385   23:22 | 

برخي اپراتور هاي وي بي

Type Of اپراتور

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

TypeOf ControlName Is ControlType

مثال:كنترلي از نوع فايل بوكس رابه تايع زير مي فرستيم يراي تعيين عضو انتخاب شده

Private Function GetSelectItem(LST as Contol) as String

if TypeOf lst is listbox then

GetselectItem=Lst.text:Exit Function

else :GetselectItem=Lst.FileName:Exit Sub

End if

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


DoEventsاپراتور

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

For i=0 to list1.listCount -1

if list1.list(i)<>"" then call Copy(list1.list(i),App.path+"\")

DoEvents

Next

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

استفاده مي كنندSleepبه نام APIباعث كاركرد زياد وشديد سي پي يو مي شود وبرخي ترجيح مي دهند از آن استفاده نكنند ويه جاي ان از يك

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

آن نوشته مي شود به استراحت بپردازد.ِ

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


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

بنام آفريدگار مهربان

ناصر نيازي:اين وبلاگ جهت آموزش ويژوال بيسيك 6 در حد توانم وآدرس جديد ترين كتابهاي الكترونيكي ايجاد كرده ام .من متولد 67 اهل روستاي قايش استان همدان شهرستان رزن هستم اگر سوالي داشتيد بپرسيد .براي استفاده بيشتر از بلاگ به آرشيو حتمآ سر بزنيد
Translator This Page

Archive

شهریور 1388

خرداد 1388

بهمن 1387

آذر 1387

آبان 1387

مهر 1387

تیر 1387

خرداد 1387

اردیبهشت 1387

فروردین 1387

اسفند 1386

بهمن 1386

دی 1386

آبان 1386

مهر 1386

شهریور 1386

مرداد 1386

خرداد 1386

اردیبهشت 1386

فروردین 1386

اسفند 1385

بهمن 1385

دی 1385

آمار ونظر سنجي

لينك دوستان(MyFrind)

IranJavaScript
مركز برنامه نويسان ايران
علي آقاي خودمون
تكنولوژي اطلاعات
ويژوال بيسيك فارسي
نقدي بر وبلاگها
پخش مستقيم فوتبال
سي پلاس پلاس
موبايل-ويدئو
هوش مصنوعي
محلی برای برنامه نویس های کوچک و بزرگ
مجتبي
طراحي و برنامه نويسي وب
آموزش گام به گام ساخت بازی
پار س کومش
بهترین مجلات و کتب الکترونیک
غروب سحر
فناوری اطلاعات دانشگاه پیام نور گناوه
میکسر یا تا بوده همین بوده
اموزش تخصصي كامپيوتر
University آموزشکده فنی رجایی کاشان
تپش ثانیه ها
اموزش سي پلاس حرفه اي (كنسول)
گرين هورس
انجمن فناوری اطلاعات دانشگاه بیرجند
شلوغ پلوغ(هنگامه)
شبانه
IT Ebook And Electronic Magazin-.Ruby.
پايگاه برنامه نويسي
كتابخانه
free ebook download center
IT WORLD
کدرز هکر
سايت ديگر ما

خبرنامه/طراح

POWERED BY: BLOGFA.COM

طراح قالب :ناصرنيازي

آخرين پست هايم در وبلاگ ديگرم



Mani|Archiv|Mail|OtherSite|Picture|English|RSS


CopyRight:GhayeshSoft 2008 By: NasserNiazy
آكانت پرشين گيگم || کتب اوپن جي ال OpenGL || New Ebook Programing || كتب فارسي || Index of /cbook || بدون عنوان || New Best programing ebook || Ebook New || Ebook New || FarsiEbook || BestEbook || New Post || Programing Ebook || كتابهايي از پرشين گيگ2 || كتابهايي از پرشين گيگ1 || Ebook Link Of Rapidshar || پاسخ به سوالات || Ajax Ebook || Best Free Ebook Of Java || 7 هزار كتاب فارسي || 1662 Programing Ebook || Ebook Link || free Ebook Center 20000 Ebook || کتابخانه فارسي آقاي بشيري || RapidSharEbook Part2 10000 || Free 15000Ebook Of Rapidshare || Programing Ebook Of rapidshare.com || عکس فجيع- || E-Book-Farsi || free Ebook || کتاب جديد || VB6 Ebook || سورس کد هاي وي بي || کتاب || سلام || vb || بازگشت با کتب فارسي || ebook || کتابخانه خارجي || کتاب و کتابخانه || کتابخانه || دلفي || دات نت || بدون شرح(کولاک کردم مگه نه) || کتاب جديد || کتابخانه بي نظير || XML-DELPHI-Java,... || کتابخانه || کتابخانه || کتاب || کتاب و کتابخانه || Linux || کتب جديد || کتاب جديد || کتاب به زبان فارسي || کتابخانه عظيم برنامه نويسي || شاه برنامه || يک پروژه ي گرافيکي-اسکرين سيور || برنامه نويسي سه بعدي -بازي || اي اس پي دات نت || کتاب نو آوردم || کتاب جديد || کتاب کتاب || باز کردن فايل زيپ در دلفي || کتاب بدون شرح || کتاب جديد-جاوا || كتاب || کتاب سي و جاوا || کتاب جديد || فهميدن خاصيت بدون تايمر || معدن کتاب || جاوا اسکريپت || عوض کردن عکس دکمه استارت || برنامه || کتاب کتاب-FTP || کتب-مکتوب-کاتب || کتاب کتاب کتب || عکس عکس عکس || کتب-کاتب-مکتوب || کتاب-کتب || کتاب-کتاب-کتاب || ساخت يک اکتيو ايکس || مجموعه بي نظير پلير || آهنگ فلش براي وب شما || دنياي کلاس و اي پي آي || نوشتن Dllدر وي بي || سه بعدي بدون دايرکت ايکس || آرايه در دلفي || شفاف کردن فرم || سوالات کنکور وي بي 85 || وي بي بازم وي بي || Nero ImageDrive || برنامه || غير فعال کردن كنترل آلت دليت || 2Api بسيار مفيد || سطل آشغال ويندوز خالي كردن || کنترل سي پي يو || پاسخ به سوالات شما-گرافيك || فرمت فايلM3U || کنترل خطا در وي بي|| دايرکت ايکس || کتاب الکترونيک برنامه || فرم ها در وي بي || كتاب 2 || Shellدستور || برخي اپراتور هاي وي بي || کتاب الکترونيک 1 ||