تبليغاتX
ترفندهای ویژوال بیسیک
[go: up one dir, main page]

سلام بچه ها خسته نباشید

معذرت می خوام از آپدیت دیر هنگام خیلی شرمنده ام ولی با چند تا برنامه اومدم تا از خجالتتون در بیام

1-تابعی برای کد کردن اطلاعات و همچنین تابع دیگری برای دیکد کردن این کد ( کد اسکی) – تابع ها کامل اند و شما می تونین با خیال راحت از اونا استفاده کنید :

2- یک سورس جالب که یک دایره رنگی بسیار زیبا رو در وسط فرم ایجاد می کنه(خیلی نازه) :

3= نحوه استفاده از اسکرول بارها در برنامه تان


4-با این سورس می تونین بفهمید که کامپوتر کاربر در وضعیت آفلاین است یا نه؟

5-با این کد می تونین یک نوشته رو در کنار موس قرار دهید ( با رنگهای رنگین کمان) :


6- یک دسکتاپ مجازی با امکانات کامل (تقدیم به همه برنامه نویسان ایران زمین)


اگه خوشتون اومد یک نظر ناقابل بدین؟

+ نوشته شده در  ساعت   توسط خوره وی بی  | 

سلام بچه ها خسته نباشید

+ نوشته شده در  ساعت   توسط خوره وی بی  | 

با سلام خدمت شما

متاسفانه بنده فعلا در محيط دات نت حرفه اي نيستم . متاسفانه هنوز کار با ديتابيس را در محيط دات نت ياد ندارم

ولي اگر سوالي در مورد وي بي بود در خدمتم

راستي تا چند وقت ديگه ديتابيس و کلي کار درگه توي دات نت رو ياد مي گيرم

+ نوشته شده در  ساعت   توسط خوره وی بی  | 

سلام بچه ها

معذرت می خوام کمی دیر آپدیت کردم آخه دیدم کسی نظر نمی ده با خودم گفتم لابد کسی مشکلی نداره دیگه !

عزیزان میتونید سوالات ویژوال بیسیک خود را به ایمیل من بفرستند یا در وبلاگ (خودتون) نظر بدید .

بگم به عزیزانی که زبان ویژوال بیسک کار می کنند اکیدا توصیه می شود که زبان سی پلاس پلاس را شروع کنند(البته اگر شما مقدمات ویژوال بیسیک را یاد دارید).

من در این وبلاگ سعی میکنم به جای اینکه نکاتی رو که همه وبلاگ ها به اون اشاره می کنند را توضیح ندهم بلکه نکات ریز و ترفند های زبان وی بی را آموزش دهم.

چطور می شه

سوال کنید تا جواب بگیرید.

راستی به نظر شما زبان c++ بهتره یا زبان C#

نظر فراموش نشه

مخلص همتون

محسن

+ نوشته شده در  ساعت   توسط خوره وی بی  | 

سلام بچه ها معذرت می خوام که خیلی دیر آپدیت کردم

امروز می خوام چند مطلب جالب برای عزیزان بذارم که اکثرا بچه های وی بی با این موارد مشکل دارند (مثل خودم !)

1- برنامه ماشین حساب ما کار نمی کند !

ابتدا 2 تا کادر متن روی و یک دکمه روی فرم بکشید و کدهای زیر را کپی کنید

Private Sub Command1_Click()

MsgBox Text1.Text + Text2.Text

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2 = ""

Command1.Caption = "zarb"

Me.Caption = "www.mohsen-pc.blogfa.com"

End Sub

حالا در کادر های متن دو عدد را وارد کنید و دکمه را بزنید چه اتفاقی افتاد؟

خب برنامه ما به جای این که دو عدد را با هم جمع کند آن ها را کنار هم قرار داد،اما مشکل کار کجا بود؟

عجله نکنید بهتون می گم

به دلیل این که ویژوال بیسیک نوشته های یک کادر متن را به عنوان یک رشته فرض میکند آن دو عدد را کنار هم قرار می دهد و با هم جمع نمی کند برای درست شدن این مساله باید هر دو رشته (یا یکی از آن ها) را تبدیل به متغری از نوع عدد کرد به صورت زیر:

Msgbox clng(text1.text)+text2.text

می بینیم که مشکل حل شد.

2-ساختن فایل در وی بی

تا حالا شده دوست داشته با شین که برنامه تون یک مقدار رو توی یک فایل ذخیره کنه ؟

خب اگه دوشت دارین با ما همراه بشین...

ابتدا باید فایل را با روش خاصی و با شماره منحصر بفردی باز کرد تا با توابع دیگر بتوان بر روی آن اطلاعاتی نوشت.

Open "c:\s.txt" for binary as 1

این طوری فایل باز میشه که اسم فایل (اس.تکست ) است و روش باز کردن آن دودویی است یعنی هم برای خواندن اطلاعات و هم برای ذخیره اطلاعات.

با این کد می توان سلام را در فایل شماره 1 نوشت

Put #1,1,"salam"

بعضی مواقع هم می خواهیم اطلاعات نوشته شده در فایل را بخوانیم که به صورت زیر است

Open "c:\s.txt" For Binary As 1

Input #1, sa

MsgBox sa

این فایل باز شد و اطلاعان خط اول آن در متغیر سا ذخیره شد

حالا نوبت به بستن فایل است

Close #1

3-تابع command

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

Msgbox command

اگر دقت کنید ا.ل . آخر این رشته کوتیشن وجود دارد که مسیر را غیر قابل استفاده می کند و برای جلوگیری از این اتفاق می توانیم کد را به این صورت تغییر دهیم

Msgbox mid(command,2,len(command)-2)

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

مثال عملی

یک کادر عکس روی فرم بکشید و کدهای زیر را کپی کنید

Private Sub Form_Load()

On Error Resume Next

Image1.Picture = LoadPicture(Mid(Command, 2, Len(Command) - 2))

End Sub

شما یک برنامه نمایش عکس ساختید!

4-آرایه

به مقداری از حافظه که می توان در آن مقداری را ذخیره کرد متغیر می گویند ، ولی به مقداری از حافظه که می توان در آن چند متغیر( در واقع چند رشته جداگانه) را جا داد آرایه گویند که استفاده از آن به صورت زیر است:

Dim s(2) as string

S(0)="salam"

S(1)="khooby"

S(2)="che khabar"

Msgbox s(1)

نکته: آرایه در بعضی مواقع بسیار مفید می باشد و ما را از تعریف چندین متغیر بی نیاز میکند.

5-تابع Point

این تابع هم در فرم و هم در picturebox کار می کند که کار آن برگرداندن رنگ نقطه ای از فرم یا picturebox می باشد که نحوه استفاده از آن به صورت زیر می باشد.

ابتدا یک picturebox روی فرم خود قرار دهید و در آن یک عکس بگذارید و picturebox را طوری بکشید که مقدار زیادی از فرم دیده شود سپس کدهای زیر را بنویسید.

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

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

End Sub

5-معکوس کردن رنگ های یک عکس(invert)

ابتدا یک picturebox کشیده و یک عکس در آن قرار دهید حالا کد زیر را در فرم خود بنویسید.

Private Sub Command1_Click()

With Picture1

Picture1.PaintPicture .Picture, 0, 0, , , , , , , vbDstInvert

End With

End Sub

6- منوی شناور(popupmenu)

نحوه ساختن منوی شناور یعنی همان منوی کلیک راست.

Popupmenu yourmenu

7-نحوه گذاشتن خط جداکننده در یک منو

فقط کافیست در قسمت caption آن منو – گذاشت

8-اعداد اتفاقی

برای ایجاد یک عدد اتفاقی (شانسی) باید از تابع rnd استفاده کرد.

Msgbox rnd

اگر کمی دقت کنید می بینید که هر دفعه که برنامه را اجرا می کنید این تابع اعداد تکراری را نمایش می دهد برای درست شدن این مشکل فقط کافی است تابع Randomize را بدون هیچ آرگومانی بنوسیم و کد را به صورت زیر تغییر دهیم:

Randomize

Msgbox rnd

و برای تعیین محدوده انتخاب اعداد به این صورت کد می نویسیم

Randomize

Msgbox rnd*16

و برای صحیح کردن این عدد از تابع int استفاده میکنیم.

Randomize

MsgBox Int(Rnd * 16)

6-تایمر چیست؟

تایمر شیئی ایت که اگر فعال باشد کار خاصی را در بازه زمانی خاصی کهشما تعیین می کنید انجام می دهد (واحد تعیین بازه زمانی شی تایمر میلی ثانیه است)

7-ویژوال بیسیک شما فونت فارسی را درست نشان نمی دهد؟

اگر ویژوال بیسیک شما کلمه هایی مانند (گ-ک-چ-پ-ژ) را به صورت سه نقطه نشان می دهد روی کنترل مورد نطر کلیک کرده و به قسمت فونت رفته و فونت آن شی را Times New Roman قرار دهید می بینید که مشکل شما حل خواهد شد.

8-"اولین سطر" + خط بعدی + "دومین سطر"

اگر می خواهید در رشته های خود از یک خط به خط بعد بروید می توانید از ثابت vbcrlf استفاده کنید. مثال:

Msgbox "mohsen" & vbcrlf & "shamohammady"

8- استفاده راحت وزیاد از خصوصیات یک شی

اگر می خواهید از خصوصیات یک شی به مقدار زیاد استفاده کنید می توانید از With و End With استفاده کرد که مثال عملی آن به صورت زیر است:

With Me

.Caption = "www.mohsen-pc.blogfa.com"

.BorderStyle = 3

.Enabled = True

.Visible = True

End With

9- نمایش یک عکس در یک کنترل عکس

تا بحال حتما خواسته اید که در طول اجرای برنامه عکس یکی از کنترلهای برنامه را عوض کنید و حتما به این حالت کد نوشته اید:

Image1.picture="c:\mohsen.jpg"

و برنامه شما هم دچار خطا شده است . چرا؟

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

Image1.picture=loadpicture("c:\mohsen.jpg")

تابع loadpicture یک عکس را به حافظه فراخوانی می کند و یک عدد را برمی گرداند که این شماره در واقع شماره همان عکس لود شده می باشد.

10- رنگهای 15 گانه کیوبیسیک در وی بی

تابع qbcolor از شما درخواست می کند که شماره یکی از آن 15 رنگ کیوبیسیک را بدهید و اگر شما یکی از این رنگ ها را با استفاده از شماره آن درخواست کنید شماره ای برگشت داده می شود که کد یک رنگ در وی بی است و می توانید آن رنگ را استفاده کنید. مثال :

Me.backcolor=qbcolor(rnd * 15)

با این کد می توانید هر بار یک رنگ تصادفی را برای پس زمینه فرم خود انتخاب کنید.

11- برنامه تان کل سیستم را به هنگ می اندازد؟

در وی بی یک تابع به نام Doevents موجود می باشد که اگر برنامه شما حتی هنگ کند سیستم عامل در نهایت سلامت(بدون هنگ کردن) کار میکند و خیلی راحت برای کاربران این امکان وجود دارد که برنامه هنگ کرده شما را ببندند .چه خوب نه؟

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

نحوه کار به صورتی است که مثلا در یک حلقه پردازشگر کارها را یکی پس از دیگری انجام می دهد و وقتی به این تابع رسید مروری بر فرمان هایی که به سیستم عامل داده شده است را اجرا میکند(به کارهای سیستم عامل رسیدگی می کند) که این سیستم مانع از هنگ کردن سیستم عامل می شود.

12- کپی اطلاعات به کلیپ برد و استخراج اطلاعات از آن

با تابع settext از شی clipboard می توان یک رشته به کلیپ برد خالی کپی کرد به صورت زیر:

Clipboard.SetText "salam"

*نکته: برای کپی یک متن باید حتما کلیپ برد ویندوز شما خالی باشد.

با تابع gettext از شی clipboard می توان به اطلاعات داخل کلیپ برد دسترسی پیدا کرد

mohsen = Clipboard.GetText

MsgBox mohsen, vbInformation

برای خالی کردن کلیپ برد به این صورت عمل کنید.

Clipboard.Clear

13- پنجره open بدون متن Open as read-only

برای این کار کافی است که یک خصوصیت به شی openfiledialog اضافه کرد که به صورت زیر انجام می شود.

Commondialog1.flages=cdlofnhidereadonly

Commondialog1.showopen

14-انتخاب فونت

برای نمایش پنجره فونت از شی comdlg32.ocx باید به صورت زیر عمل کنید بعنی ابتدا به این شی بگویید که فونتهای چه قسمتی را نشان دهد.

Commondialog1.flages=3

Commondialog1.showfont

15- چند خط کد در یک خط !

برای این کار فقط کافی است ابتدا کاراکتر : را گذاشته و سپس کد بعد را بنویسید.

16-نحوه کار با تابع shell

باز کردن فایل

Shell "explorer.exe F:\files\Training\programming\vb\Qustion vb.pdf", vbNormalFocus

باز کردن پوشه

Shell "explorer.exe c:\", vbNormalFocus

باز کردن صفحه وب

Shell "explorer http://www.mohsen-pc.blogfa.com", vbNormalFocus

اجرای فرمان داس :

خاموش کردن بعد از 10 ثانیه

Shell "shutdown -s -t 10", vbNormalFocus

16-پرسیدن سوال از کاربر با استفاده از تابع msgbox

'created by mohsen shamohammady

'http://www.mohsen-pc.blogfa.com

Private Sub Form_Unload(Cancel As Integer)

mohsen = "Are You Sure to exit program?"

If MsgBox(mohsen, vbQuestion + vbYesNo, "Exit") = vbYes Then

End

Else

Cancel = True

End If

End Sub

17-توابع وی بی کمه !

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

به کارهایی بر خورده اید که با توابع وی بی ممکن نیست؟

آیا حس می کنید وی بی خیلی ضعیف است ؟

خب اگر چنین فکری می کنید پس این قسمت رو هم بالای قسمت های دیگه بخونید.

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

توابع API چیست؟

API مخفف Application Programming Interface است و به معنای رابط برنامه نویسی کاربردی است.API مجموعه ای از توابع برنامه نویسی است که هم مورد استفاده سیستم عامل واقع می سود و هم یک برنامه کاربردی می تواند از آن استفاده کند. توابع API در قالب فایل های DLL عرضه میشود. در سیستم عامل ویندوز فایل هایی مثل : Kernel32.dll ، gdi32.dll ، user32.dll و چندین فایل دیگر شامل این توابع هستند. این توابع معمولاً با زبان برنامه نویسی C نوشته شده اند. ولی در زبان های دیگر مثل دلفی ، ویژوال سی پلاس پلاس و ویژوال بیسیک هم می توان از آنها استفاده کرد.

توابع API بر دو دسته اند :

· 16 بیتی : این توابع در ویندوز های قدیمی کاربرد داشته اند و در سیستم ها ی کنونی به تدریج جای خود را از دست داده اند. و فقط برای حفظ سازگاری ویندوز با برنامه های قدیمی این توابع هنوز هم با ویندوز عرضه می شوند. توابع 16 بیتی ویندوز در حدود 730 عدد می باشد.

· 32 بیتی : این توابع نمونه های پیشرفته تر توابع قدیمی 32 بیتی هستند. همانطور که گفته شد توابع 16 بیتی قدیمی شده اند و نمونه های 32 بیتی اکثر آنها در ویندوز موجود است. برای آنکه این گونه توابع با نمونه های 16 بیتی شان اشتباه گرفته نشود در انتهای آنها یک کاراکتر A وجود دارد که نشان دهندهء 32 بیتی بودن آنهاست. توابع 32 بیتی بالغ در 6500 عدد هستند.

برای استفاده باید هر کدام را که می خواهیم فراخوانی کنیم.

. چگونه ؟

نحوه به کار بردن توابع API در ویژوال بیسیک

برای استفاده از توابع API در وی بی ابتدا باید آنها را در وی بی تعریف نمود که اصطلاحاً به آن Declare گفته می شود. صورت یک Declare به این صورت است

Declare Function FnName Lib LibName [Alias RealName] (Parameters )As ReturnType

o FnName : نام تابع ( نامی که قرار است در برنامه استفاده شود ).

o LibNam : نام کتابخانه ( فایل با پسوند DLL ).

o RealName : نام واقعی تایع در فایل کتابخانه. اگر نام واقعی تابع و نامی که در برنامه استفاده می شود یکی باشند آنگاه نیازی به این قسمت نیست .

o Parameters : پارامتر های تابع.

o ReturnType : نوعی که تابع قرار است بر گرداند.

توجه : در نوشتن نام واقعی تابع ( یا اگر نام واقعی و مجازی تابع یکی باشد ، نام مجازی آن ) بزرگ و کوچک بودن حروف اهمیت دارد .

برای دیدن اکثر توابع وی بی می تونید به نشانی زیر مراجعه کنید.

http://www.allapi.net

و یا از برنامه تماما فارسی Apia استفاده کنید.

*نکته:برای فراخوانی یک تابع ممکن است بخواهیم این فراخوانی در چند خط انجام گیرد که برای این کار باید در پایان خط کاراکتر _ گذاشته شود در صورت وجود این کاراکتر ویژوال بیسیک متوجه می شود که باید بقیه کد را از خط بعد بخواند.

18-تاریخ شمسی در وی بی

مشکل تاریخ شمسی ما هم حل شد .خوب یه Dll پیدا کردم که دیگه مشکل تاریخ شمسی رو کامل حل میکنه . این dll رو گروه نرم افزاری OxinSoft نوشتن که دمشون هم گرم . بعدش هم یه Help توپ براش گذاشتن که دیگه جای هیچ توضیح اضافی رو نداده تمام متد های این Class رو توضیح داده که از توضیحات من هم بهتره !!!

:: برای دریافت فایل اینجا کلیک کنید

19- کشیدن خط

برای کشیدن خط در وی بی باید از تابع line از شی me استفاده کرد که طرز استفاده از آن به صورت زیر است.

Me.line(x1,y2)-(x2-y2)

یعنی متصات خط شروع و مختصات نقطه پایان. به همین سادگی ، به همین خوشمزگی

اگه از این پست خوشتون اومد نظر یادتون نره !

تا چند وقت دیگه با کلی تابع جالب Api بر میگردم.

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

با گذاشتن اين فايل در کنار فايل اجرايي برنامه تان دکمه هاي برنامه شما شبيه دکمه هاي ويندوز ايکس پس مي شود
دانلود

چند پروژه ويژوال بيسيک براي افراد مبتدي که قصد دارند پا به قسمت متوسط بگذارند

دانلود

با اين برنامه مي توانيد کد هر کليد از صفحه کليد را مشاهده کنيد

دانلود

پروژه يک برنامه قفل گذار که خودم ساختمش و هر کي دوست داشت روش کار کنه و به نام خودش پخش کنه

دانلود

با اين پروژه شما ياد مي گيريد که چطور رنگ منوي کليک راست ويندوز خود را با استفاده از وي بي عوض کنيد
دانلود

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

دانلود

اينم يک مقاله که راه هاي تقلب در کارت تلفن را ياد داده است که البته فقط جنبه آموزشي دارد

دانلود

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

دانلود

يک برنامه بازيابي اطلاعات نسبتا قوي با حجم بسيار پايين يعني 100 کيلو بايت!

دانلود

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

دانلود

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

دانلود


اينم يک مقاله ويژوال بيسيک براي افراد حرفه اي

دانلود

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

محسن شامحمدی

+ نوشته شده در  ساعت   توسط خوره وی بی  | 

1- برنامه سورس كامل يه تروجانه خيلي قوي با وي بي
کد:
http://aminf2008.110mb.com/SubTrust.zip
2- سورس برنامه يه مدير كافينت با تمام امكانات
کد:
http://aminf2008.110mb.com/NetManager.zip
3- سورس برنامه يه دفترچه تلفن با امكانات اوليه
کد:
http://aminf2008.110mb.com/PhoneBook.zip
+ نوشته شده در  ساعت   توسط خوره وی بی  | 
آموزش زبان برنامه نویسی سی (++C) مخصوص عزیزان و علاقه مندان به برنامه نویسی که تازه می خواهند آموزش سی پلاس پلاس را شروع کنند. این مجموعه شامل ۷ تا فایل با پسوند PDF می باشد و مجموعا دارای ۶۷ صفحه می باشد که ابتدا باید از حالت فشرده خارج کنید و برای باز کردن این فایل های پی دی اف نیاز به نصب برنامه ی Adobe Reader و یا هر برنامه ی دیگری که فایل های پی دی اف را باز می کند، دارید.

درباره ی این آموزش می توانم بگویم که از مقدماتی شروع کرده و تا مواردی چون عملگرهای ریاضی ، ساختارهای شرطی و گردشی ، کار با توابع ، توابع کتابخانه ای ، تابع نویسی ، آرایه ها و کار با رشته های کاراکتری و … پیش می رود. به نظر بنده برای شروع کار با این برنامه نویسی بسیار مناسب می باشد

دانلود

+ نوشته شده در  ساعت   توسط خوره وی بی  | 
کار با صفحه کلید یک دستور شرطی است به این صورت:

اگر شماره کلید=مثلا۶۹ اونموقع

چاپ کن سلام

پایان اگر

کد وی بی آن به صورت زیر است:

if keycode=69 then

print "salam"

end if

باید این کد رو در رویداد keydown فرم خود بنویسید.

خوب بود اگه خوب بود نظر یادتون نره

+ نوشته شده در  ساعت   توسط خوره وی بی  | 
اینم ویژوال استودیو ۲۰۰۸ دانلود کنید و حاشو ببرید

نوع فایل ISO

حجم 894MB

دانلود

نظر یادتون نره!

+ نوشته شده در  ساعت   توسط خوره وی بی  |