فلش زدن برنامه

این برنامه از یکی از توابع Api به نام (Flash Window ) استفاده می کند. شکل کلی تابع به صورت زیر می باشد.

 Private Declare Function Flash Window Lib "user32" (By Val hwnd As Long, ByVal bInvert As Long) As Long

 در صورتی که از توابع API در خود فرم برنامه استفاده شود باید از Private استفاده گردد و در صورتی که بخواهید در ماژولها از آن استفاده کنید باید از Public استفاده کنید.

بعد از وارد شدن به محیط ویژوال بیسیک باید یک Timer و یک Command Button در فرم قرار دهید و خاصیتهای Name آنهارا به صورت زیر تنظیم کنید.

Timer1= tmrFlash

Command Button1= cmdFlash

خصوصیت Enablef مربوط به Timer را برابر با False قرار دهید و کدزیررا برای آن بنویسید.

Private Sub tmrFlash_Timer ()

     Dim lngRet As Long

     LngRet = Flash Window (Me.hwnd, 1)

End Sub

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

Private Sub cmdFlash_Click ()

    tmrFlash.Interval = 500

    tmrFlash.Enabled = True

End Sub

      * واحد Interval مربوط به Timerبرحسب میلی ثانیه می باشد.

موفق باشید.

عدم اجرای مجدد برنامه

با این تکه کد می توانید از اجرای مجدد برنامه خودداری کنید.

 ( فقط کافی است کد را در رویداد فرم لود ( Form Load ) ) بنویسید.

Private Sub Form_Load()

If App.PrevInstance = True Then

    Call MsgBox("This program is already running.", , "Ali Shiri")

     End

End If

End Sub

خواص Text Box

بازهم سلام
این دفعه می خوام در مورد بعضی از خاصیت های textbox که در پنجره ی properties وجود داره توضیح بدم.
Name=این رو که حتما می دونید که اسم اون هستش ولی نکته ای که باید به اون توجه کرد اینه که برنامه نویس های حرفه ای در اول اسم textbox ها txt روهم مینویسند مثلا txtdisplay یا txtname .
Alignment=این خاصیت نحوه تراز شدن متن رو در textbox رو نشون می ده (وسط چین،چپ چین،راست چین).
Appearance= این خاصیت به شکل و شمایل اون مربوط می شه اگر flat رو انتخاب کردید textbox به صورت تخت در میاد ولی اگر 3d رو انتخاب کنید به صورت سه بعدی و تو رفته در میاد.
Backcolor= ای هم مربوط میشه به رنگ داخل textbox.
enable= هم مربوط میشه به فعال یا غیر فعال بودن.
Forecolor= این هم رنگ متن داخلش رو مشخص می کنه.
locked= این خاصیت مشخص می کند که آیا کاربر می تواند متن داخل ان را عوض کند یا نه.
Maxlenght= این خاصیت حداکثر تعداد کاراکترهایی را که می توان درون textbox وارد نمود مشخص می کند.
Multiline= چنانچه این خاصیت true باشد وقتی در textbox در حال تایپ کردن هستید اگر اینتر را فشار دهید به خط بعد می روید و می توانید متن را در بیشتر از یک خط بنویسید ولی اگر این خاصیت false باشد فقط میتوانید در یک خط متن را وارد کنید.
Password char= حتما دیدید که وقتی در حال تایپ کردن پسورد هستید هرچی تایپ می کنید به جاش یه علامت ستاره تایپ میشه که به خاطر اینه که متن به صورت محرمانه باشه وکسی نتونه ببینه.حالا شما در مقابل این خاصیت هر کاراکتری رو وارد کردی به جای متن اون کاراکتر نشون داده میشه.مثلا اگر 3 رو وارد کردید، هرچی تایپ کردید بجای اون 3 میبندید.
RightToLef= این خاصیت مشخص می کنه متن از چپ به راست نوشته شود یا از راست به چپ.
scroll bar= چنانچه بخواهید میله های مرور روی جعبه متن ظاهر شوند ونیز برای تعیین تعداد انها باید از این خاصیت استفاده کنید.مقدار0-None از ظاهر شدن میله های مرور جلوگیری میکند.مقدار 1-Horizontal فقط یک میله مرور افقی نشان می دهد.مقدار 2-vertical اجازه نمایش میله مرور عمودی را می دهد..مقدار 3-both هر دو میله مرور افقی و عمودی را نشان می دهد.
Text=این خاصیت متن اولیه(مقدار پیش فرض) را که درون جعبه متن ظاهر می شود را نشان می دهد.

مثالهای الگوریتم

 

مثال 1 :

  - الگوریتمی بنویسید که میانگین عدد ۲۰ و عدد ۱۵ را بدست آورد.

حل :

۰) شروع

۱) متغیرهای a1=20,a2=15 را دریافت کن.

2) (sum=sum+(a1+a2

3) avg=sum/2

4) مقدار avg را نمایش بده.

5) پایان

مثال 2 :

 - الگوریتمی بنویسید که اعداد سه رقمی مضرب 5 را بدست اورد.

حل :

۰) شروع

1) متغیر n=95 را دریافت کن.

2) n=n+5

3) مقدار n را چاپ کن.

4) اگر n<995 بود برو به مرحله 2

5) پایان

مثال 3:

 - الگوریتمی بنویسید که با دریافت x مقدار فرمول زیر را بدست اورد.

حل :

۰) شروع

1) عددی را از ورودی در یافت و در x ذخیره کن.

2)     y=(5x+1)*x

3) مقدار y را نمایش بده.

۴) پایان

آشنائی با توابع و شکل کلی آنها

توابع API یعنی چی؟

واژه API مخفف شده سه کلمه   Application Programming Interface  میباشد آن یک رابط نرم افزار است که در برنامه های دیگر استفاده میگردد. همانند صفحه کلید ماشین حساب که رابط میان کلید و عدد نمایش داده شده میباشد.یک API رابط نرم افزاری سیستم های عامل میباشد.

شکل کلی تابع :

قبل از اینکه بتوانید یک تابع API را در ویژوال بیسیک استفاده نمایید باید آن را نخست تعریف ومشخص نمایید. برای تعریف تابع باید به ویژوال بیسیک بگویید که چگونه میتواند آن را پیدا نماید. برای تعریف نخست نام تابع سپس نام فایل DLL حامل تابع و سپس پارامترهای موردنیاز آن به همراه نوع آنها و نوع مقدار برگشتی(در صورت موجود بودن). با این اطلاعات ویژوال بیسیک میداند که تابع API را از کجا پیدا نماید البته این رویه منحصر به توابع API نیست و هر تابعی که درون یک DLL فایل قراردارد نیز باید همانند روش بالا تعریف گردد.

در زیر روش تعریف تابع نشان داده شده است. دستور Declare برای تعریف تابع استفاده میشود ، این دستور میتواند داخل یک ماجول یا یک فرم بکار گرفته شود اگر داخل فرم استفاده شود باید پیشوند Private برای آن بکار گرفته شود و اگر داخل یک ماجول بکار رود میتواند با یکی از دو پیشوند Public و یا Private مورد استفاده قرار گیرد ، توجه نمایید استفاده از واژه Public باعث میگردد تابع در بقیه قسمتهای برنامه نیز قابل استفاده باشد ولی واژه Private باعث میگردد تابع فقط در همان ماجولی که تعریف شده قابل استفاده باشد.

 [{Public | Private}] Declare Function function name Lib "DLL_filename" [Alias "function alias"] (argument list) As data type

جستجوگر متن

دراینجا سعی داریم برنامه ای را تشریح کنیم که همانند جستجوگر می تواند متنی را در رشته ای پیدا کند.

توضیح توابع به کار رفته :

() Len : این تابع جزء توابع رشته ای می باشد و به ما این امکان را می دهد که طول یک رشته را بدست آوریم.

نمونه ساده

Len (Ali) =3

()Val : این تابع جزءتوابع رشته ای می باشد. ازآنجائی که بین رشته های عددی و عدد تفاوت وجود دارد این تابع این امکان را به مامی دهد که رشته عددی را به عدد تبدیل کنیم.

نمونه ساده :

Val (“25”) +Val (“10”) =35                                                                                                              

“25”+”10”=” 2510”     

(A=Mid (String, Start Position, Len : این تابع به ما کمک میکند که در رشته ای جستجو کنیم.

A: یک متغیر بوده که حاصل تابع در ان ذخیره می شود.

String: رشته ای که تابه در آن جستجو می کند.

Start Position: به ما می گوید شروع جستجو از کجا باشد.

Len: طول جستجو می باشد.

نمونه ساده : بلگفا را در رشته String  پیدا کنید؟

String=Blogfa is Site.

For I=1 to Len (string)

     A=mid (string, I, 5)

Next

Call msgbox (A)

·         حلقه ی تکرار For  برای ما یک حلقه با تکرا مشخص بوجو می آورد که بعد به توضیح تمام حلقه های تکرار می پردازیم.

·         Call: یک تابع را صدا می زند.

پسورد : www.learnvb.blogfa.com

Download Source Program

ماشین حساب

من سعی می کنم بیشتر برنامه نویسی را کاربردی توضیح دهم ،من خودم 2 ساله که با ویژوال برنامه می نویسم و برنامه هایی که اینجا توضیح می دهم و حل می کنیمرا خودم می نویسم.

امروز سعی دارم که برنامه ماشین حساب را باهم مرور کنیم.

روش کار :

ما نیاز به دو متغییر( برای ریختن عدد اول و عدد دوم در متغییرها ) و یک نشانه برای عملیات ها.

Private Number1, Number2 as Integer

Private Flag as String

حالا ما به 16 عدد Command Button ونیز یک عدد Textbox  داریم.  

ادامه نوشته

خواص مهم  Label ها

 Auto size=این خاصیت در صورتی که true  باشه باعث میشه تا اندازه label به طور اتوماتیک به اندازه متن اون

 باشه و اگر false  باشه اندازه به صورت دستی قابل تغییر است.

Back Style= اگر این خاصیت مساوی 0 یا transparent  باشه label  شفاف میشه و فقط متن اون پیدا

میشه و اگر 1 یا Opaque باشه label به صورت مات و غیر شفاف در میاد که رنگ اون توسط خاصیت Back color قابل تغییر است

 BorderStyle= اگر مقدار این خاصیت 0 یا None باشه label به صورت تخت Flat  تبدیل میشه و اگر مقدارش

مساوی 1 یا Fixed Single باشه label به صورت 3بعدی نمایش داده میشه

 ToolTipText=این هم توضیحی است که با رفتن موس روی label  نمایش داده میشه.

توضیح قسمتهای مهم توابع API

 

[{Public | Private}]

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

اگر کمی با برنامه نویسی آشنا باشید با واژه میدان دیدScope  و یا میدان عمل بیگانه نخواهید بود اگر تابع خود را در قسمت General  برنامه تعریف کنید بایستی از کلمه کلیدی Private یعنی محلی استفاده کنید در این صورت از این تابع فقط در محلی که نوشته اید می توانید استفاده کنید و در سایر قسمت های برنامه نمی توانید از از آن تابع استفاده کنید و باید دوباره آن را در آن محل تعریف کنید که اصلا این نوع تعریف رو به جز در برنامه های بسیار ابتدایی پیشنهاد نمی کنم

نوع دوم استفاده از Public یا عمومی است که در آن ابتدا باید تابع را در یک ماژول دیگر تعریف کرد و سپس در سایر قسمت های برنامه و بدون محدودیت استفاده کرد

Declare Function

کلمه کلیدی است و حتما باید ردر تعریف تابع استفاده گردد

Function Name

نام تابع API  است این نام می تواند هرچیزی باشد و شما می توانید حتی از نام خودتان به جای این پارامتر استفاده کنید ولی هرگز نباید این پارامتر را خالی بگذارید و نوشتن آن الزامی است البته توصیه می کنم برای بالا رفتن خوانایی برنامه از نام اصلی تابع استفاده کنید زیرا در غیر این صورت می بایستی از قسمت Function Alias استفاده کنید

Lib "Library Name"

اصولا توابع API  ویندوز در درون فایل های کتابخانه ای ویندوز(DLL) قراردارند و برای استفاده از این توابع می بایستی از درون کتابخانه مربوط به خود فراخوانی شود در این قسمت که نوشتن آن الزامی است شما باید نام کتابخانه ای را که تابع در درون آن قرار دارد را در درون کوتیشن بنویسید

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

 Kernel32.DLL

USER32.DLL

GDI32.DLL

WINMM.DLL

و ...

البته در نوشتن نام کتابخانه نوشتن پسوند DLL اختیاری است

[ Alias "function alias"]

در این قسمت که البته نوشتن اون اختیاریه در اکثر موارد باید نام کامل تابع رو تایپ کرد و در صورتی باید این قسمت رو حتما نوشت که نام تابع رو به دلخواه خودمون عوض کردیم ابته این بخش دارای کاربرد های دیگه ای هم هست که در انجا به اونا اشاره نمی کنم

( Argument list)

هر تابع API ویندوز مانند توابع داخلی ویژوال بیسیک می توان دارای چندین آرگومان باشد که این آرگومان ها بسته به نوع تابع متغیرند ، توابعی وجود دارند که شاید بیش از هفت آرگومان داشته باشند و توابعی هم وجود دارن که هیچ آرگومانی ندارند

As data type

اصولا هدف از فراخوانی تابع گرفتن خروجی از تابع است تمامی توابع API  یک مقدار را برمی گردانند که برای معین نمودن نوع مقدار برگشتی از واژه کلیدی As  و سپس نوع داده استفاده می کنیم که در اکثر توابع مقدار برگشتی از نوع Long  و یا String خواهد بود. در مباحث بعدی مثالهایی را می آوریم که با تکرار آنها می توانید به درستی مفواهیم آن را یاد بگیرید.

کلیات الگوریتم ها

 

سلام ، امروز می خواهیم کمی هم وقت برروی "الگوریتمها و فلوچارتها " بگذاریم.

 توضیح الگوریتم :

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

 شرایط یک الگوریتم خوب:

 1.       ساده باشد.

2.       دقیق و واضح باشد.

3.       ترتیب انجام مراحل و دستورالعمل ها رعایت شده باشد.

4.       شروع و پایان مشخص داشته باشد.

اجزای یک الگوریتم :

1.       نقطه شروع

2.       نقطه پایان

3.       دستورالعمل ها یا جملات اجرائی

نقطه شروع:

       هرالگوریتم دارای یک نقطه شروع است که با کلمه " شروع " مشخص می شود.

تقطه پایان :

       هر الگوریتم دارای یک یا چند نقطه پایان است که با کلمه " پایان " مشخص می شود.

دستورالعمل ها یا جملات اجرائی :

برای حل مساله  ما باید عملیاتی را پشت سر بگذاریم تا به جواب برسیم به این عملیات   "دستورالعمل ها یا جملات اجرائی " می گویند.

متغیرها :

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

ثابتها:

 مکانهایی از حافظه می باشد که برای نگهداری مقادیر داده ها که در طول برنامه ثابت هستند مورد استفاده قرار می گیرد.

تاریخچه ویژوال بیسیک Visual Basic 6.0

ویژوال بیسیک توسعه یافته basic می باشد. basic توسط پروفسور john kemency  برای نوشتن برنامه های ساده ایجادشد.

هدف از بیسیک اولیه آموزش برنامه نویسی بود.بیسیک توسط انواع متفاوتی ازکامپیوترهامورداستفاده قرار گرفت وسرمشق سایرزبانهاشد.باتوسعه گرافیکی کاربر (gui)توسط میکروسافت دراواخر دهه ۱۹۸۰ واوایل ۱۹۹۰basicتکامل تدریجی خودرابه سوی ویژوال بیسیک انجام داده بودکه توسط گروه مایکروسافت درسال۱۹۹۱انجام پذیرفت.درزمانیکه ویژوال بیسیک درمرحله ظهوربود توسعه برنامه های کاربردی تحت ویندوز میکروسافت عملی طاقت فرسابود.باآمدن ویژوال بیسیک ایجادبرنامه های کاربردی تحت ویندوز بسیارآسان شد.

ازسال۱۹۹۱تاکنون شش نوع ازویژوال بیسیک روانه بازار شده است وآخرین نمونه آن ویژوال بیسیک۶ می باشدکه درسپتامبر۱۹۹۸روانه بازارگردیده است.

● ویژوال بیسیک چیست؟

ادامه نوشته

اصول تعریف متغیرها

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

برای ایجاد یک متغیر سه عمل زیرراانجام دهید:

                  نام گذاری متغیر

                  تعیین نوع متغیر

                  تعیین مقدار اولیه

درحالت کلی تعریف متغیربه صورت زیر است:

Dim   نام متغیر   [As نوع متغیر ]  

مثال: متغیری بانام AوازنوعStringرا تعریف کنید.

                                 Dim A AS String                                                    

قواعد نام گذاری متغیر ها                            

۱.نام متغیر بایدبایکی ازحروف الفبا اغاز شودک

۲.نام متغیرمی تواندحداکثر255 کاراکتر داشته باشد.

۳.فاصله دربین حروف نام متغیر مجاز نیست.

انواع داده

انواع داده هایی که که در VBمورد استفاده واقع می شود به دودسته می باشد:

       ¤ داده های عددی

        ¤ داده های غیرعددی

انواع داده های عددی:

اعداد صحیح(Integer):

اعدادی که قسمت اعشار ندارند.مثل عدد 104

اعداد صحیح 2بایت حافظه را اشغال می کند.

اعداداعشار(Decimal):

اعدادی که قسمت اعشار دارند.مثل عدد 2/12

اعداد اعشاری 12بایت رااشغال می کنند.

انواع داده های غیرعددی:

دادهای غیرعددی داده هایی هستند که انجام محاسبات ریاضی درمورد انها مورد نظر برنامه نویس نیست صرفا می خواهد اطلاعاتی راذخیره کند ودر گزارشات وعملیات منطقی ازانها استفاده نماید. درجدول زیر داده های غیر عددی نشان داده شده است.

مقدار حافظه

نوع

طول رشته

String(رشته ای)

8بایت

Date(تاریخ)

2بایت

Boolen(منطقی)

16بایت

Variant

4بایت

Object

درنوعStringباید داده ها بین دو علامت کوتیشن("  ")قرار بگیرد به طور مثال :

"This is a computer"