عضو شوید



:: فراموشی رمز عبور؟

عضویت سریع

نام کاربری :
رمز عبور :
موبایل :
ایمیل :
نام اصلی :

آمار مطالب

:: کل مطالب : 39
:: کل نظرات : 6

آمار کاربران

:: افراد آنلاین : 1
:: تعداد اعضا : 5

کاربران آنلاین


آمار بازدید

:: بازدید امروز : 1
:: باردید دیروز : 1
:: بازدید هفته : 121
:: بازدید ماه : 270
:: بازدید سال : 378
:: بازدید کلی : 378

RSS

Powered By
loxblog.Com

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

VB6 --- جلوه های ویژه روی کادر متن در VB6
شنبه 04 خرداد 1392 ساعت 15:50 | بازدید : 1253 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

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

ابتدا کد وقفه رو توی ماژول پروژه کپی کنید:

 

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 

 
خوب حالا دوتا کادر متن به اسم های TxtUser و TxtPass ایجاد کنید.
حالا با دقت به رویداد GotFocus هر یک برید و این کد هارو کپی کنید:
 
 
Private Sub TxtUser_GotFocus()
Do Until TxtUser.Width >= 2430
    Sleep 5
    DoEvents
    TxtUser.Width = Txtuser.Width + 100
    DoEvents
Loop
End Sub
 
 
Private Sub TxtPass_GotFocus()
Do Until TxtPass.Width >= 2430
    Sleep 5
    DoEvents
    TxtPass.Width = TxtPass.Width + 100
    DoEvents
Loop
End Sub
 
خوب حالا به سراغ رویداد LostFocus این کادر متن ها برید و این کد هارو کپی کنید.
 
 
Private Sub  TxtUser_LostFocus()
Do Until  TxtUser .Width <= 1215
    Sleep 5
    DoEvents
     TxtUser .Width =  TxtUser .Width - 100
    DoEvents
Loop
End Sub
 
 
Private Sub  TxtPass_LostFocus()
Do Until  TxtPass.Width <= 1215
    Sleep 5
    DoEvents
     TxtPass.Width =  TxtPass.Width - 100
    DoEvents
Loop
End Sub
 
خوب حالا برنامه رو اجرا کنید و به قدرت VB پی ببرید.
 
محک؟ اگر بطور سریع و پشت سر هم یا مثلا با کلید Tab از صفحه کلید فوکوس رو بین این دو کادر متن جابجا کنید میبینید که ترتیب اونها بهم میخوره.آیا میتونید کاری بکنید که این ترکیب حفظ بشه؟

توجه:این یکی از مهمترین کدهایی است که من تو برنامه هام ازش استفاده میکنم.به هیچ وجه از این کد ها در نرم افزار های رسمی استفاده نکنید.
 
برگرفته از : http://honarestaniha.blogfa.com

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
VB6 --- مديريت رشته ها در ويژوال بيسيک ۶
شنبه 04 خرداد 1392 ساعت 15:48 | بازدید : 1103 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

مديريت رشته ها در ويژوال بيسيک ۶

 

 

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

تابع Asc : کد اسکی اولين کاراکتر رشته ورودی را بر می گرداند .


فرمت کلی آن بصورت زير است :


Asc(string)


- تابع
AscW کد یونيکد اولين کاراکتر را بر می گرداند .

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


فرمت کلی آن بصورت زير است :


Chr(charcode)


- تابع
ChrW بر حسب يونيکد عمل می کند .

تابع LCase : تمام کاراکترهای رشته ورودی را به حروف کوچک تبديل می کند .


فرمت کلی آن بصورت زير است :


LCase(string)

تابع UCase : تمام کاراکترهای رشته ورودی را به حروف کوچک تبديل می کند .


فرمت کلی آن بصورت زير است :


UCase(string)

تابع Left : رشته ای را بر می گرداند که شامل تعداد مشخصی از کاراکترهای سمت چپ رشته ورودی است .


فرمت کلی آن بصورت زير است :


Left(string, length)


String : رشته ورودی


Length : طول رشته مورد نظر

مثال :

  Left(“abcdef”,3)=”abc

تابع Right : رشته ای را بر می گرداند که شامل تعداد مشخصی از کاراکترهای سمت راست رشته ورودی است .


فرمت کلی آن بصورت زير است :

 


Right(string, length)

مثال :

Right(“abcdef”,3)=”def”


تابع
Space : تعداد مشخصی کاراکتر فاصله بر می گرداند .


فرمت کلی آن بصورت زير است :


Space(number)

تابع  Len : طول رشته ورودی را بر می گرداند .


فرمت کلی آن بصورت زير است :


Len(string)

مثال :      Len(“abcdefg”)=7

تابع Trim : اين تابع space هايي که در ابتدا يا انتهای رشته باشد را حذف می کند .


فرمت کلی آن بصورت زير است :


Trim(string)

- توابع LTrim و RTrim فقط از چپ و راست عمل می کنند .

مثال :

Trim(abc”)=”abc

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

 


Mid(string, start[, length])


string : رشته ورودی .


start : محل شروع اولين کاراکتر رشته ای که می خواهيم از رشته ورودی استخراج کنيم .


Length : اين پارامتر اختياری است و طول رشته ای است که می خواهيم از رشته ورودی استخراج کنيم . اگر اين پارامتر وارد نشود کليه کاراکترها از start به بعد استخراج خواهند شد .

 

مثال :       Mid(“abcdefg”,2,3)=bcd


تابع
Instr : اين تابع محل اولين وقوع يک رشته را درون رشته ديگر نشان می دهد .


فرمت کلی آن بصورت زير است :


InStr([start, ]string1, string2[, compare])


Start : اين پارامتر اختياری است و محل شروع جستجو را نشان می دهد . اگر اين پارامتر وارد نشود جستجو از ابتدای رشته آغاز می شود .


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


String2 : رشته مورد جستجو


Compare : اين پارامتر اختياری است و نوع جستجو را نشان می دهد . اگر اين پارامتر 0 داده شود جستجوی متنی انجام می شود و اگر 1 داده شود جستجوی باينری انجام می شود .

 

مثال :          Instr(3,”abcdabg”,”ab”)=5

اگر طول رشته string1 برابر صفر باشد مقدار بازگشتی صفر است . اگر string1 يا string2 برابر Null باشد مقدار بازگشتی نيز Null است . اگر طول رشته string2 برابر صفر باشد مقدار بازگشتی start خواهد بود . اگر رشته string2 درون string1 پيدا نشود مقدار بازگشتی صفر است . اگر start بزرگتر از طول رشته string1 باشد مقدار بازگشتی صفر است .

تابع InstrRev : برعکس تابع Instr می باشد يعنی عمل جستجو را از انتهای رشته انجام می دهد .


فرمت کلی آن بصورت زير است :


InstrRev(stringcheck, stringmatch[, start[, compare]])


تابع
Replace : رشته ای را برمی گرداند که در آن يک رشته خاص با رشته ديگری به تعداد دفعات مشخصی جايگزين شده است .


فرمت کلی آن بصورت زير است :

 


Replace(expression, find, replace[, start[, count[, compare]]])

Expression : رشته اصلی


Find : رشته مورد جستجو


Replace : رشته جايگزين


Start : محل شروع جايگزينی . در صورتيکه اين متغير وارد نشود جايگزينی از ابتدا رشته انجام می شود .


Count : تعداد دفعات جايگزينی . در صورتيکه اين متغير وارد نشود جايگزينی در تمام رشته انجام خواهد شد .


Compare : نوع جستجو را نشان می دهد . اگر اين پارامتر 0 داده شود جستجوی متنی انجام می شود و اگر 1 داده شود جستجوی باينری انجام می شود .

 

مثال :     

 Replace(abcadea”,”a”,”x”)=”xbcxdex

اگر طول رشته expression برابر صفر باشد مقدار بازگشتی رشته ای با طول صفر  است . اگر طول رشته find صفر باشد مقدار بازگشتی خود expression است . اگر طول رشته replace صفر باشد مقدار بازگشتی expression ای است که در آن تمام find ها حذف شده است . اگر start بزرگتر از طول رشته expression باشد مقدار بازگشتی رشته ای با طول صفر است . اگر count برابر صفر باشد مقدار بازگشتی خود expression است .


تابع
StrReverse : رشته ای را برمی گرداند که کاراکترهای آن به ترتيب عکس کاراکترهای رشته ورودی است .


فرمت کلی آن بصورت زير می باشد :


StrReverse(expression)

مثال : 

  StrReverse(abcd”)=”dcba

تابع Split : آرايه ای از تعداد مشخصی رشته برمی گرداند که اين رشته ها توسط يک کاراکتر جداکننده ( delimiter ) از درون يک رشته استخراج

شده اند .


فرمت کلی آن بصورت زير است :


Split(expression[, delimiter[, limit[, compare]]])

Expression : رشته اصلی


Delimiter : اين پارامتر اختياری است و کاراکتر جداسازی را نشان می دهد . در صورتيکه اين پارامتر وارد نشود کاراکتر فاصله ( “ “ ) برای جداسازی استفاده می شود . در صورتيکه طول اين کاراکتر صفر باشد يک آرايه تک عضوی که شامل کل expression است برگردانده می شود .


Limit : تعداد رشته های موجود در آرايه را نشان می دهد . در صورتيکه اين پارامتر داده نشود کليه رشته های جداشده در آرايه خروجی قرار می گيرند .


Compare : نوع جستجو را نشان می دهد . اگر اين پارامتر 0 داده شود جستجوی متنی انجام می شود و اگر 1 داده شود جستجوی باينری انجام می شود .

 

مثال :


Dim Ar(3) as String
Ar=Split(“a#bd#cde”,”#”)


تابع
Join : تعدادی رشته موجود در يک آرايه را بهم متصل می کند و رشته حاصل شده را بعنوان نتيجه بر می گرداند .


فرمت کلی آن بصورت زير است :


Join(sourcearray[, delimiter])

Sourcearray : آرايه شامل رشته هايي که می خواهيم بهم متصل کنيم .


Delimiter : کاراکتری که برای اتصال رشته ها بهم استفاده می شود . اين کاراکتر در بين رشته اهی اتصالی می آيد و اگر داده نشود از کاراکتر فاصله استفاده می شود . اگر طول اين کاراکتر صفر باشد رشته های بدون هيچ جداکننده ای بهم متصل می شوند .

 


مثال :


Dim Ar(3) as String
Ar(1)=”ab
Ar(2)=”c”
Ar(3)=”def”
Join(Ar,”*”)=”ab*c*def”


تابع
StrComp : اين تابع دو رشته ورودی را با هم مقايسه می کند .


فرمت کلی اين تابع بصورت زير است :


StrComp(string1, string2[, compare])

String1 : رشته اول


String2 : رشته دوم


Compare : نوع مقايسه را نشان می دهد . اگر اين پارامتر 0 داده شود مقايسه متنی انجام می شود و اگر 1 داده شود مقايسه باينری انجام می شود .

 

اگر string1 کوچکتر از string2 باشد مقدار بازگشتی 1- است . اگر دو رشته مساوی باشند مقدار بازگشتی صفر است . اگر string1 بزرگتر از string2 باشد مقدار بازگشتی 1 است .

 


تابع
StrConv : در يک رشته ورودی تغييراتی را اعمال می کند .


فرمت کلی آن بصورت زير است :


StrConv(string, conversion)

String : رشته ورودی


Conversion : نوع عمل تبديل را نشان می دهد . مقادير ممکن اين متغير عبارتند از :

 

توضيح

مقدار

تبديل به حروف بزرگ

1

تبديل به حروف کوچک

2

تبديل اولين کاراکتر هر لغت در رشته به حرف بزرگ

3

تبديل به يک رشته يونيکد

64

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

128

 
مثال : 

  StrConv("hello my friend",3)="Hello My Freind"

 

منبع :  www.homecode.blogfa.com


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
VB6 --- آرایه ها
شنبه 04 خرداد 1392 ساعت 15:45 | بازدید : 3644 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

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

1. اسم آرایه که از آن برای دستیابی به آرایه در برنامه استفاده می کنید.
2. این آرایه از چند عنصر تشکیل شده است. که این قسمت درون پرانتز قرار می گیرد.
3. و در آخر نوع داده های آرایه می باشد (صحیح ، رشته و...)

روش تعریف آرایه در ویژوال بیسیک:

 

Dim ArrayName(LowerValue To HigherValue) [As DataType]


اگر آرایه را در یک فرم تعریف می کنید از Dim یا Private استفاده کنید ولی اگر آن را در یک ماجول تعریف می کنید و می خواهید که هر رویه ای به آن دسترسی داشته باشد آرایه را با Public تعریف کنید.
اگر آرایه را در یک رویه یا تابع تعریف می کنید از Dim استفاده کنید.
ArrayName اسم آرایه می باشد که از قوانین نام گزاری متغییر ها پیروی می کند.
LowerValue اولین عنصر آرایه
HigherValue آخرین عنصر آرایه می باشد.
مشخص کردن مقدار اولیه آرایه الزامی نیست. اگر شما این کار را نکنید ویژوال بیسیک به طور خود کار آن را از صفر شروع می کند.

 

Dim sTestArray(0 To 10) As String

برابر است با

Dim sTestArray(10) As String

اگر می خواهید ویژوال بیسیک مقدار اولیه آرایه ها را از یک شروع کند در قسمت اعلان برنامه (جای Option Explicit را به یاد دارید.) دستور زیر را بنویسید.

 
Option Base 1


مقدار دادن به آرایه همانند مقدار دهی به متغییر می باشد.
 

ArrayName(Index) = Value

مثال:
 

iArray(3) = iArray(7) 

به راحتی مقدار آرایه با اندیس 7 درون اندیس 3 قرار می گیرد.

گرفتن سایز آرایه:
منظورم از سایز حدود بالا و پایین عناصر آرایه می باشد.
به عبارت دیگر فهمیدن این که چه تعداد عنصر در آرایه ذخیره شده است.
این کار به سادگی با استفاده از توابع LBound و UBound انجام میشود.(کران بالا و پایین)
سوال:
برای چه به این توابع نیاز است؟ آنها چه کاری انجام می دهند؟
پاسخ:
اگر می خواهید یک جعبه لیست را با عناصر یک آرایه پر کنیدو نمی دانید چه تعداد از آن عناصر را دارید باید از این توابع استفاده کنید (یواش یواش داره سخت می شه ها...)
 

UBound(ArrayName, Dimension)
'ArrayName = the name of the array
LBound(ArrayName, Dimension)


قبل از همه چیز:
در ویژوال بیسیک برای نوشتن توضیح از کاما و کلمه Rem استفاده می شود
توضیحات در روند کامپایل برنامه تاثیر ندارند و فقط برای خوانایی برنامه می باشند.
Dimension یک عدد صحیح اختیاری می باشد که نشانگر تعداد ابعاد یک آرایه چند بعدی می باشد.
یک مثال ساده:
 

Dim Names(100) as string
LowerVal = LBound(Names) 'Get the lower boundary number.
UpperVal = UBound(Names) 'Get the upper boundary number.

For i = LowerVal To UpperVal
    List1.AddItem Names (i) 'Add each name from array according to how many stored in the Array
Next


آرایه های چند بعدی:
یک آرایه چند بعدی شبیه یک جدول می باشد. اگر حتی یک بار Microsoft Excel را دیده باشید می دونید چی می گم.
مثال:
 

Static iArray(1 To 2, 1 To 3) as integer


تمامی عناصر آرایه بالا:
 

iArray(1,1), iArray(1,2), iArray(1,3)
iArray(2,1), iArray(2,2), iArray(2,3)


اکثر اوقات از آرایه های یک بعدی استفاده می کنید ولی در مواقعی استفاده از آرایه های 2 یا 3 بعدی بهتر است. آرایه های بیش از 3 بعدی یک ایده خوب به حساب نمی آیند چون Debug کردن برنامه را به شدت سخت می کند.
آرایه های چند بعدی (منظور بیشتر 2 بعدی میباشد) به صورت خطی پر می شوند. برای مقدار دادن به عناصر آرایه های چند بعدی از حلقه های تو در تو استفاده می شود.
مثال جالب:

 

Option Explicit
Private Sub Form_Load()
Dim i, j As Integer
Dim TableArray(1 To 10, 1 To 10) As Integer

For i = 1 To 10
    For j = 1 To 10
        TableArray(i, j) = i * j
        Text1.Text = Text1.Text & TableArray(i, j) & vbTab
    Next j
    Text1.Text = Text1.Text & vbCrLf
Next i
End Sub

جدول ضربی ازاعداد را در آرایه دو بعدی قرار می دهیم.
قبل از اجرای این کد یک جعبه متن نسبتا بزرگ را در روی فرم قرار دهید و حتما در پنجره Properties جعبه متن خاصیت MultiLine رو برابر True کنید.
vbTab کلمه رزرو شده ای است که معادل 8 کاراکتر فضای خالی می باشد.
vbCrLf کلمه رزرو شده ای است که مکان نما را به خط بعد منتقل می کند.
البته باید این مثال را در برنامه نویسی شی گرا می آوردم ولی مهم نیست با توضیحات داده شده فکر نکنم مشکلی داشته باشید.

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

Dim MyArray (10000) As Long

این آرایه تقریبا 40,004 بایت از حافظه را اشغال می کند.یعنی 4 * 10,001 می باشد چون نوع Long چهار بایت حافظه اشغال می کند.
الان ممکن است این عدد بزرگی نباشد ولی اگر 10 تا از این آرایه را در برنامه استفاده کنید 4,000,400 بایت حافظه مصرف می شود.
عاقلانه تر این است در ابتدا مقدار کمی را به آرایه تخصیص دهیم و زمان اجرا آن را تغییر سایز دهیم.درRunTime .
بله شما به سادگی این کار را در ویژوال بیسیک با تابع ReDim انجام می دهید.
آرایه هایی را که در زمان اجرا تغییر سایز می دهیم آرایه های پویا می نامند.
هنگامی که آرایه های پویا را تعریف می کنید لازم نیست مثل آرایه های ثابت عمل کنید. یعنی لازم نیست سایز را مشخص کنید.

 
Dim ArrayName() As DataType


تمام قضایا مثل بالاست فقط به ReDim توجه کنید.
 

ReDim ArrayName(LowerValue To HigherValue)

توجه:
عمل ReDim همیشه در زمان اجرا اعمال می شود و حتما باید قبلا تعریف شده باشد.
مثال:
 

Dim Names() As String

Sub Form1_Load()
    ReDim Names(1 To 10)
End Sub

این کد آرایه را در زمان اجرا تغییر سایز می دهد. حتما قبل از استفاده از آرایه پویا باید سایز آن را تعیین کنید.
یک مشکل بزرگ:
وقتی از ReDim استفاده می کنید تمامی مقادیر درون آرایه (اگر قبلا تغییر سایز داده باشیم) پاک می شود. در اکثر اوقات این آن چیزی که شما می خواهید نیست.
برای جلوگیری از چنین کاری از جمله زیر استفاده کنید.
 

ReDim Preserve ArrayName(LowerValue To HigherValue)

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

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
VB6 --- کاربرد عنصر ImageBox
شنبه 04 خرداد 1392 ساعت 15:43 | بازدید : 1478 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

این عنصر برای نمایش تصاویر گرافیکی بیت نگاشت ، نماد های گرافیکی ، شبه فایل ها ، آیکن ها و  غیره به کار می رود و برخی از خواص و متدهای این عنصر به صورت زیر است :

خاصیت Picture : برای نمایش تصویر در عنصر Imagebox به کار می رود . به دو روش می توان مقداری را در خاصیت Picture قرار داد . این دو روش عبارتند از :

1 – مقداردهی خاصیت Picture در زمان طراحی : در این روش ، کافی است در زمان طراحی ، این خاصیت را کلیک مضاعف کنید تا کادر محاوره تصویر ظاهر گردد . در این کادر محاوره  میتوان نام فایل تصویر مورد نظر را انتخاب کرد .

دسته بندی تصاویر بر اساس عمق رنگ آن ها

نام تصویر

تعداد بیت

هدف

سیاه و سفید

1

برای تصاویر سیاه و سفید به یک بیت نیاز است با هر بیت میتوان دو حالت 0 تا 1 را تولید کرد

تصاویر تخت

8

این تصاویر میتوانند دارای 256 رنگ باشند

تصاویر با کیفیت بالا

16

این تصاویر می توانند دارای 65536 رنگ باشند

تصاویر واقعی

24

این تصاویر با همان رنگ اصلی و واقعی خودشان نگهداری می شوند

 

2 – مقدار دهی تصویر در زمان اجرا : در این روش ، با استفاده از متد  Loadpicture قرار داد.

خاصیت Stretch : اگر مقدار این خاصیت True باشد و عنصر Imagebox بزرگتر از تصویر باشد ، تصویر به اندازه کادر عنصر Imagebox بزرگ می شود و گرنه (مقدار این خاصیت False باشد) تصویر در اندازه واقعی اش در عنصر Imagebox نمایش داده می شود.

متد Loadpicture : در زمان اجرا برای انتقال فایل تصویر به خاصیت Picture مربوط به عنصر Imagebox به کار می رود . کاربرد متد Loadpicture به صورت زیر است :

Loadpicture   ([Graphicfilename]  [, Varsize]  [,Varcolordepth] [,Varx , Vary])

پارامتر  Graphicfilename ، نام فایل تصویری است که باید به عنصر Imagebox انتقال یابد . چنانچه این پارامتر ذکر نشود تصویر عنصر Imagebox پاک می شود . پارامتر Varsize ، اندازه تصاویر را برای آیکان ها و مکان نما تعیین می کند . مقادیری  که این پارامتر می تواند بپذیرد در جدول زیر آمده است . پارامتر Varcolordepth ، عمق رنگ تصاویر را مشخص می کند و مقادیری که این پارامتر می تواند بپذیرد در جدول 2 آمده است .

پارامتر های Vary و Varx نقطه ای را مشخص می کند که تصویر باید در آن نقطه قرار گیرد . چنانچه مقادیر Vblpsmallershell یا Vblplagershell در پارامتر Varsize قرار گیرد ، آرگومان های Varx  و Vary باید ذکر شوند . به عنوان مثال دستور زیر را در نظر بگیرید :

Image1 . Picture = Loadpicture ("C:Car.Gif")

این دستور فایل تصویر Car.Gif را در کادر عنصر Image 1  نمایش می دهد .

متد Save Picture : برای ذخیره کردن تصاویر بر روی دیسک استفاده می شود و به صورت زیر به کار می رود :

Savepicture  (Picture , Filename)

Picture تصویری است که باید ذخیره شود و Filename رشته است که مسیر و نام فایل را مشخص می کند ، به عنوان مثال دستور زیر را در نظر بگیرید :

Call  Savepicture  (Image1 , "A:Car.Gif")

این دستور ، تصویر موجود در Image1 را بر روی درایو A با نام Car.Gif ذخیره میکند .


مقدار

هدف

ثابت

0

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

Vblpsmall

1

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

Vblplarge

2

با تنظیم آیکن Display از پنجره کنترل پنل مشخص می شود. برای تنظیم ، صفحه Appearance را کلیک کرده اندازه Caption Button را تعیین می کند.

Vblpsmallshell

3

با تنظیم آیکن Display از پنجره کنترل پنل مشخص می شود . برای تنظیم ، صفحه Appearance را کلیک کرده اندازه Icon ، اندازه مورد نظر است

Vblplargeshell

4

آرگومان های Varx و Vary  را تعیین می کند

Vblpcustom

 


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
VB6 --- کاربرد عنصر CommonDialog
شنبه 04 خرداد 1392 ساعت 15:42 | بازدید : 2015 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

برای نمایش پنجره های استاندارد ویندوز از شی Common Dialog استفاده می شود . این شی در جعبه ابزار وجود ندارد. برای این منظور بایستی این شی را به جعبه ابزار اضافه نمود . برای اضافه کردن کنترل Comman Dialog به جعبه ابزار در پست قبلی آموزش داده شده است .

 

برای نمایش پنجره های استاندارد ویندوز ، می توان بصورت زیر عمل کرد :

 

پنجره استاندارد Save را نمایش می دهد .                          Showsave . نام کنترل Commondialog

پنجره استاندارد Help را نمایش می دهد.                            Showhelp . نام کنترل Commondialog

پنجره استاندارد Color را نمایش می دهد.                          Showcolor . نام کنترل Commondialog

پنجره استاندارد Printer را نمایش می دهد.                        Showprint . نام کنترل Commondialog

پنجره استاندارد Font را نمایش می دهد.                            Showfont . نام کنترل Commondialog

 

تذکر : کنترل Commondialog در زمان اجرا ظاهر نمی شود.

برای محدود کردن نوع فایل ها در کادر استاندارد فایلی ، می توان از مشخصه Filter متعلق به Commondialog استفاده کرد که فرم کلی استفاده از آن به صورت زیر است :

"توضیحات | نوع فایل" = Filter . نام کنترل Commondialog

به عنوان مثال برنامه زیر را در نظر بگیرید :

Commondialog1.Filter = "Gif Files (|) *.Gif"

Commondialog1.Showopen

 

در برنامه بالا پنجره Open فقط فایل های Gif را نمایش می دهد

اگر در مشخصه Filter متعلق به Commondialog بخواهیم از چند نوع فایل استفاده کنیم . باید بین آن ها علامت (|) و یا ;)) را به کار ببریم .

به عنوان مثال برنامه زیر را در نظر بگیرید:

 

Commondialog1.Filter = "Bmp | *.Bmp | Jpg File | *.Jpg"

Commondialog1.Showopen

 

برنامه بالا فایل های Jpg و Bmp را در پنجره Open نمایش می دهد.

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

 

Commondialog1.Filter = "Bmp & Jpg Files |*.Bmp; *.Jpg"

Commondialog.Showopen


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
VB6 -- رنگ ها در ویژوال بیسیک
شنبه 04 خرداد 1392 ساعت 15:40 | بازدید : 5204 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

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

1 – استفاده از ثوابت : ویژوال بیسیک ثوابتی برای رنگ ها دارد که در جدول زیر  آمده اند :

مقدار

رنگ

ثابت

0

سیاه

Vbblack

1

آبی

Vbblue

2

لاجوردی

Vbcyan

3

سبز

Vbgreen

4

زرد

Vbyellow

5

سفید

Vbwhite

6

قرمز

Vbred

7

ارغوانی

Vbmagenta

 

2 – استفاده از تابع RGB : با استفاده از این تابع می توان یک رنگ را تولید کرد . تابع  RGB به صورت زیر به کار می رود :

RGB  (Red , Green , Blue)

پارامتر Red ، شدت رنگ قرم (درصد مقدار رنگ قرمر) ، پارامتر Green ، شدت رنگ سبز و پارامتر Blue شدت رنگ آبی را تعیین می کند . هر یک از پارامتر های Red , Green , Blue می توانند مقادیر 0 تا 256 را بپذیرند . پس در ویژوال بیسیک 256 * 256 * 256  (حدود 16 میلیون رنگ) را می تواند ایجاد کرد . به عنوان مثال ، دستورات زیر را در نظر بگیرید :

Dim  Color1  As  Long

Color1 = Rgb (225 , 100 , 170)

Form1 . Forecolor = Color1

این دستوارت ، رنگی را ایجاد کرده در خاصیت Forecolor فرم قرار می دهد.

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

Qbcolor  (Qbcolor)

پارامتر Qbcolor عددی صحیح بین 0 تا 15 می باشد . لیست رنگ هاییی که تابع Qbcolor می تواند ایجاد کند در جدول زیر آمده است . به عنوان مثال ، دستورات زیر را در نظر بگیرید :

 

عدد

رنگ

0

سیاه

1

آّبی

2

سبز

3

لاجوردی

4

قرمز

5

ارغوانی

6

زرد

7

سفید

8

خاکستری

9

آبی روشن

10

سبز روشن

11

لاجوردی روشن

12

قرمز روشن

13

ارغوانی روشن

14

زرد روشن

15

سفید روشن (با شدت بالا)

 

 

Private  Sub  Squaredraw_Click ()

Form1 . Cls

Form1 . Scaleheight = 10

For I = 0 To 15

Form1 . Line (0 , I) – ((Form1 . Scalewidth) , I + 1) , Qbcolor (I) ,Bf

Next I

End  Sub

این دستورات ، فرم را به 16 مستطیل رنگی تقسیم می کند (برای ایجاد رنگ ها از تابع Qbcolor استفاده شده است).

متد Point : رنگ نطقه ای از فرم یا عنصر Picturebox را بر می گرداند و به صورت زیر به کار می رود :

Point  (X , Y) . نام عنصر

(X , Y) مختصات نقطه ای از فرم می باشد که رنگ آن باید تعیین گردد . به عنوان مثال ، دستو زیر رنگ نقطه ( 100 , 100)) را در متغیر Colorxy قرار می دهد :

Dim Colorxy As Long

Colorxy = Form1 . Point (100 , 100)


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
VB6 -- مطالبی تقریبا کامل مربوط به Text Box
شنبه 04 خرداد 1392 ساعت 15:36 | بازدید : 1145 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

فرض کنيد بر روی فرم، يک Text Box به نام txtUserName قرار داده ايم و بخواهيم کاربر، هر حرفی را داخل آن نوشت، با حرف بزرگ انگليسی زده شود (يعنی اگر وارد کرد a، در Text Box درج شود A) در اين صورت کافی است برای رويداد KeyPress از آن بنويسيم:


Private Sub txtUserName_KeyPress (KeyAscii As Integer)

KeyAscii = ASC (Ucase (Chr (KeyAscii)))

End Sub




دستور بکار رفته در اين Procedure می گويد که کد اسکی کليد فشرده شده را (توسط آرگومانِ keyAscii) دريافت کن، کاراکتر آن را (توسط تابع Chr) پيدا کن، آن کاراکتر را به حرف بزرگ تبديل کن (توسط تابع Ucase مخفف Upper Case) و آنگاه کد اسکی حرف تبديل يافته را (توسط تابع ASC) پيدا کن و دوباره در آرگومان keyAscii قرار بده. به اين ترتيب کاربر هر کليدی را که فشار دهد، حرف بزرگ آن در Text Box درج می شود.




برخی مشخصه های Text Box ها:

Name -1 : نامی که VB آن را با اين نام می شناسد.


 

Alignment -2: تراز متن داخل Text Box (راست چين، وسط چين، چپ چين)


 

Appearance -3: با مقدار Flat و 3D که سه بعدی بودن يا تخت بودن آن را مشخص می کند.


 

Back Color -4: رنگ زمينه Text Box


 

Border Style -5: که تعيين می کند که text Box حاشيه داشته باشد (fixed Single) و يا خير (None)


 

Enable -6: اين مشخصه برای هر کنترلی False باشديعنی آن کنترل غير فعال است (رنگ خاکستری شده کنترلها در ويندوز نمايشگر False بودن Enable آن است).


 

Font -7: نوع فونت متن


 

Fore Color -8: رنگ متن


 

Height -9: ارتفاع Text Box


 

Left -10: فاصله گوشه چپ و بالای Text Box از Container (دربرگيرنده) آن (تا به حال يک دربرگيرنده (container) را ديده ايم که فرمها می باشند. Container ها به کنترلهايی گويند که کنترلهای ديگر می توانند بر روی آن قرار گيرند مثل کنترل Frame يا کنترل Picture).


 

Locked -11: که اگر مقدار آن True باشد، Text Box توسط کاربر، قابل ويرايش (Edit) نخواهد بود.


 

Max Length -12: حداکثر تعداد کاراکتری که می تواند داخل Text Box قرار گيرد که اگر مقدار آن صفر باشد، محدوديت تعداد نخواهد داشت.


 

Mouse Icon -13: آيکون ماوس وقتی روی آن قرار می گيرد (به شرطی که مشخصه بعدی يعنی Mouse Pointer بابر Custom تغيير داده شود.


 

Mouse Pointer -14: نمايشگر ماوس وقتی روی آن است که اگر برابر Custom شود، هر چه در Mouse Icon، set شده باشد، آيکون ماوس می شود.


 

Multi Line -15: اگر مقدار آن برابر True شود، می توان در Text Box، چند خطی نوشت و در واقع آن را شبيه يک Editor نمود.


 

Password Char -16: گه اگر يک کاراکتر در آن قرار گيرد، هرچه داخل Text Box نوشته شود، با آن کاراکتر ديده می شود (شما در وارد کردن Password در هر ويندوز مسلماً با مقدار * برای Password برخورد داشته ايد).


 

Right To Left -17: که اگر مقدار آن True باشد، پاراگراف راست به چپ می شود (مثل آنچه ما در فارسی نوشتن به آن نيازمنديم).


 

Scroll Bars -18: اگر مقدار Multi Line برابر True باشد، توسط مشخصه Scroll Bars می توان وجود scrollbar عمودی (vertical) ، افقی (horizontal) و يا ترکيبی از آن دو (Both) را داشت.


 

Tab Index -19: ترتيب پرش از کنترل به کنترل ديگر هنگام زدن کليد Tab. مثلاً اگر سه Text Box بر روی فرم داشته باشيم و مقدار Tab Index آنها به ترتيب 0 و 1 و 2 بگذاريم، در هنگام اجرا، فوکوس به Text Box با مقدار Tab Index برابر صفر داده می شود که اگر کليد Tab را بزنيد، فوکوس به Text Box با مقدار Tab Index ببرابر يک داده خواهد شد و الی آخر.


 

Tab Stop -20: که اگر مقدار آن برای کنترلی False باشد، با زدن کليد Tab هيچگاه فوکوس به آن داده نخواهد شد (با Tab نمی توان روی آن رفت).


 

Tag -21: عملاً کار خاصی انجام نمی دهد و فقط می توانيم چيزی را در آن ذخيره کنيم که بعداً خودمان از آن استفاده کنيم.


 

Tool Tip Text -22: که مقدار آن هر چه باشد وقتی در Run Time ماوس را لحظه ای روی آن کنترل خاص نگه داريم، يک راهنمای کوتاه زرد رنگ با متن برابر مقدار تعريف شده در Tool Tip Text از آن بيرون خواهد آمد.


 

Top -23: فاصله گوشه راست و بالای کنترل از container (دربرگيرنده) خود.


 

Visible -24: که اگر مقدار آن False باشد، آن کنترل توسط کاربر (يعنی در Run Time) ديده نخواهد شد.


 

Width -25: عرض کنترل




توجه:

1- بسياری از مشخصات فوق در کنترلهای ديگری غير از Text Boxها هم با همان کاربرد، وجود دارند.




نکته:

می توان برنامه را توسط کليد F8، خط به خط اجرا کرد. در اين حال اگر ماوس را روی هر متغيری در پنجره کدنويسی نگه داريم، مقدار فعلی آن را به صورت Tool Tip می نويسد.

از اين مورد، در Debug کردن و يافتن خطاهای برنامه کمک بسياری می توان گرفت.

همچنين اگر در پنجره Immediate در هنگام Run Time دستوری را بنويسيم، اين دستور بلافاصله اجرا خواهد شد. مثلاً می توانيم يک متغير را فوراً مقدار دهی کنيم يا ...

همچنين اگر بر روی هر خطی کليد F9 را بزنيم، يک Break (شکست) روی آن خط ايجاد می کند، حال اگر کليد F5 را بزنيد، برنامه اجرا می شود تا به آن خطِ Break شده برسد و در آنجا متوقف می شود. که برای ادامه برنامه می توان بسته به مورد، از F5 يا F9 استفاده کرد.


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
آموزش ASP - عملگرهاي VBScript
سه‌شنبه 01 فروردین 1391 ساعت 20:39 | بازدید : 1265 | نوشته ‌شده به دست cpu-learn | ( نظرات 0 )

آموزش ASP - عملگرهاي VBScript 

این جلسه در مورد عملگرها بحث خواهیم نمود که جزئی از مهم ترین و پرکاربرد ترین مباحث VBScript میباشد.


عملگرها به ما اجازه مي دهند كه با داده ها كار كنيم و آنها را تركيب كنيم تغيیر دهيم و يا جايگزين كنيم. 5 كلاس اصلي از عملگر ها وجود دارند كه ما در مورد آنها بحث خواهيم كرد. اولين نوع آنها عملگر انتساب(Assignment) ميباشد كه اكنون آن را ملاحظه خواهيم نمود:

عملگر انتساب
ما در مورد متغيرها بحث كرديم و توضيح دادیم كه داده ها در آنها ذخيره می گردند. اما درباره اين كه چگونه داده ها در متغير ها ذخيره مي شوند توضيحي داده نشد.عادي ترين راه براي ذخيره داده هاي متغيرها استفاده از عملگر انتساب مي باشد. عملگر انتساب در VBScript علامت مساوي (=) مي باشد. عملگر انتساب هر چيزي كه در سمت راست آن قرار بگيرد در متغيري كه در سمت چپ آن قرار مي گيرد ذخيره مي کند.
براي مثال كدهاي زير را در نظر بگيريد:


<%
Dim MyVariable
MyVariable = 3
MyVariable = 5
%>


اگر شما قبلا برنامه نويسي نكرده باشيد ممكن است از اين كه متغير MyVariable در يك لحظه هم مقدار 3 و هم مقدار 5 را گرفته است متعجب شده باشيد. بايد دقت نماييد كه عملگر انتساب را با مشابه آن در مبحث رياضیات اشتباه نگيريد. جمله سوم مي گويد كه متغير MyVariable برابر 5 مي باشد. اين جمله در داخل متغير MyVariable مقدار 5 را ذخيره مي كند.


به منظور يك دوره كوتاه ما خط به خط اين كدها را مورد بررسي قرار مي دهيم.
دردومین خط همان طور كه قبلا توضيح داده شد يك متغير تعريف شده است. در اين هنگام يك مقدار Empty در داخل متغير MyVariable ذخيره مي گردد. در خط بعد مقدار 3 به متغير MyVariable تخصيص داده مي شود. بنابراين در داخل جعبه اي كه داراي بر چسب MyVariable ميباشد هم اكنون مقدار 3 وجود دارد. در انتها مقدار 5 به متغيرMyVariable تخصيص داده مي شود. مقدار 3 كه وجود داشت اكنون از بين مي رود!


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


<%
Dim MyVariableX, MyVariableY
MyVariableX = 3
MyVariableY = MyVariableX
MyVariableX = 5
%>


در اينجا خط دوم با دو متغير تعريف شده است MyVariableX و MyVariableY. در ابتدا در هر دو مقدار Empty قرار داده مي شود.
در خط بعد مقدار 3 در داخل MyVariableX قرار داده مي شود. مقدار دهي تنها با مقادير صريح مثل 3 يا 5 انجام نمي گيرد بلكه با متغير ها نيز صورت مي گيرد. در نهايت در هر دو متغير MyVariableY و MyVariableX مقدار 3 ذخيره مي گردد.


سرانجام در داخل MyVariableX مقدار 5 قرار داده مي شود. اين مساله بر روي متغير MyVariableY تاثيري ندارد. خط 3 هر چه كه در داخل MyVariableX وجود دارد به داخل MyVariableY كپي مي كند اما اين كار هيچ نوع ارتباط دائمي بين دو متغير MyVariableX و MyVariableY ايجاد نمي كند با اين كار MyVariableX با مقدار جديد مورد استفاده قرار مي گيرد. اما اگر شما هنوز به مقدار قبلي نياز داشته باشيد از طريق MyVariableY به آن دسترسي خواهيد داشت.
اكنون به آخرين نسخه ازين كدها نگاه كنيد:


<%
Dim ivar
ivar = 3
5 = ivar
%>


آيا فكر مي كنيد اين كد ها كار ميكند؟ (اولين پاراگراف مربوط به عملگرهاي انتساب را در صورتي كه اطمينان نداريد دوباره بخوانيد.)
جواب منفي است. اين كدها معتبر نمي باشد. دو خط اول قابل انتظار مي باشد اما خط سوم بي معني است. عملگر انتساب هر چه كه در سمت راست آن قرار دارد در داخل متغير سمت چپ كپي مي كند.در اين نمونه عدد 5 يك متغير نيست و در سمت چپ قرار دارد. عدد 5 نميتواند به عنوان نام يك متغير به كار رود زيرا نام متغير ها بايد با يك حرف آغاز شود.
ما از نوع integer در اين مثال ها استفاده نموده ايم اما مي توانستيم از انواع ديگر استفاده كنيم. عملگر انتساب با نوع هاي Booleans, Strings, doubles, singles به خوبي كار مي كند:


StrName = "X"
Bol_The_Assignment_operator_Is_Powrful = True
Dtjills_Birthday = #03/06/1946#


نكته: محصور كردن داده با علامت # داده را به سه قسمت 3 و 6 و 1946 تقسيم مي كند.

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


نام فايل را AssignmentDemo.asp بناميد:


<% @ Language="VBScript" %>
<% Option Explict
Dim strName, iAge
%>


<%
Response.Write("Before assigning a value, strName has value ")
Response.Write(strName)
%>


<%
strName= "James"
iAge = 21
Response.Write( "Now strName has value ")
Response.Write(strName)
%>


<%
Response.Write( "Now iAge has value " )
Response.Write(iAge)
%>

💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران




تجزیه: خط 3 دو متغير را به نام هاي StrName و iAge تعريف كرده است. خطوط 8 و 9 يك پيغام را مي نويسد كه نشان مي دهد كه StrName قبل از اين كه ما از عملگر انتساب استفاده نماييم چه مقداري داشته است.
خطوط 13 و 14 مقادير 2 متغير را تنظيم مي كنند. خطوط 15 و 16 مقدار جديد داده شده به متغير StrName را نشان مي دهند. به خروجي نگاه كنيد شما مي توانيد هم اكنون تاييد كنيد كه عمل انتساب درست صورت گرفته است. خطوط 20 و 21 به طور مشابه مقدار جديد داده شده به متغير iAge را نشان مي دهد.
 


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
آموزش ASP - عملگر هاي رياضي در زبان VBscript
سه‌شنبه 01 فروردین 1391 ساعت 20:33 | بازدید : 1246 | نوشته ‌شده به دست cpu-learn | ( نظرات 1 )

آموزش ASP - عملگر هاي رياضي در زبان VBscript 

ما با عملگر هايي از VBScript شروع كرديم كه مي توانند به عنوان عملگر هاي رياضي تقسيم بندي شوند. آنها شامل عملگر هاي جمع ,تفريق ,منفي ,ضرب ,تقسيم و توان مي باشند. همه اين عملگر ها را احتمالا شما قبلا ديده ايد به غير از division integer ، قدر مطلق و چسباندن ريشه ها كه براي شما جديد مي باشد.

جمع يا Addition
عملگر جمع به صورت فرمول argument+argument مي باشد كه در آن هر آرگومان مي تواند يك عدد يا يك متغير عددي يا عبارت عددي ديگري باشد مثل:


<%
Dim iSum
iSum = 3+5
%>


اين يكي از ساده ترين نمونه هاست كه هر دو آرگومان عدد مي باشد. وقتي كه اجرا گردد مقدار نهايي متغير isum عدد 8 مي باشد. مثال بعدي نشان مي دهد كه چطور يك متغير ممكن است به عنوان آرگومان استفاده گردد:


<%
Dim sngSum, sngLeft
sngLeft = 3.2
sngSum = sngLeft + 1.1
%>


در اين مثال نتيجه همان طوري كه ممكن است حدس زده باشيد مقدار 4.3 ميباشد. مقدار موجود در متغير sngLeft با عدد 1.1 جمع شده و در داخل متغير sngSum ذخيره مي گردد. متغير sngLeft تحت تاثير عملگر جمع قرار نمي گيرد.
حال به يك مثال دشوار تر نگاهي بيندازيم:


<%
Dim iCount
iCont = 2
iCont = iCont +1
%>


اين مثال ممكن است كمي سخت تر از اولي به نظر برسد. حال چگونه ممكن است كه متغير iCont برابر با متغير 1+iCont شود؟
اولا: به ياد بياوريد كه علامت تساوي با علامت انتساب تفاوت دارد. در خط اول همان طور كه قبلا ديده ايد عمل empty در داخل آن ايجاد شده است. خط دوم مقدار عددي 2 را در داخل متغير iCont جايگزين مي نمايد. در خط سوم عدد 2 از iCont بازيابي شده است. سپس عدد 1 با آن جمع مي شود و مقدار 3 را توليد ميكند. سپس عدد 3 توسط عملگر انتساب به منظور ذخيره شدن در داخل iCont فرستاده مي شود. بنابراين در انتهاي اين كدها iCont مقدار 3 را در خود نگاه ميدارد. مقدار عددي قبلي يعني عدد 2 كه در داخل iCont وجود داشت رونويسي مي گردد.
توجه كنيد كه عدد 1 قبل از اين كه عملگر انتساب وارد عمل شود با متغير iCont جمع مي شود.هر چيزي كه در سمت راست عملگر انتساب قرار دارد قبل از اين كه عمل انتساب صورت بگيرد اجرا مي گردد. جدول زير ليست دستوراتي مي باشد كه عمليات آنها قبل از عمل انتساب صورت مي گيرد:

اولويت عملگرها


Precedence Operators
Highest(done first) Anything in parentheses
Exponentiation(^)
Negation (-)
Multiplicathion, Division (*,/)
Integer Division ()
Modulus (mod)
Addition, Subtraction (+,-)
String Concatenation (&)
Equality (=)
Inequality (<>)
Less than (<)
Greater than (>)
Less than or equal to (<=)
Greater than or equal to (>=)
Not
And
Or
Xor
Eqv
Imp
Lowest (done last)


تفريق يا Subtraction
حالا كه جمع كردن اعداد را ياد گرفتيد ممكن است كه سوال نماييد كه چگونه عمل تفريق صورت مي گيرد؟ عمل تفريق همانند عمل جمع صورت مي گيرد و فرمول آن به صورت argument-argument ميباشد. هر نوع تركيبي كه شما در عمليات جمع استفاده كرديد با عمليات تفريق نيز استفاده مي شود. تنها اختلاف تفريق با جمع در اين است كه در تفريق ترتيب آرگومان ها مهم مي باشد. براي مثال عبارت 3-5 با عبارت 5-3 تفاوت دارد. در كدهاي زير آيا مي توانيد بگوييد كه بعد از پايان كدها متغير iCont چه مقداري در خود دارد؟


<%
Dim iCont
iCont = 3
iCont = iCont+1
iCont = iCont-2
%>


جوابي كه شما بايد به دست آورده باشيد مقدار 2 مي باشد. مقدار iCont در ابتدا 3 مي باشد سپس با 1 جمع شده و مقدار آن 4 مي گردد و سپس با 2 تفريق شده و مقدار آن 2 مي گردد.

ضرب يا Multiplication
ضرب براي شما ساده مي باشد. نشانه عملگر ضرب علامت (*) است. عملگر ضرب همان شكلي را كه ساير عملگر ها پيروي مي كردند و ما درباره آن بحث كرديم دنبال مي كند. البته عملگر ضرب يك پيچيدگي جديد نيز دارد.

لغت جديد: درباره عبارت رياضي 3*5+2 فكر كنيد. مقدار اين عبارت رياضي چند مي باشد؟ اگر شما عمل جمع را در ابتدا انجام دهيد نتيجه مقدار 21 است. اگر شما عمل ضرب را در ابتدا انجام دهيد نتيجه 17 مي باشد. كدام يك درست است؟ شما بايد به خاطر داشته باشيد كه عملگر ضرب نسبت به عملگر جمع متقدم است. بنابراين مقدار درست 17 است. اين واقعيت كه عملگر ضرب تقدم بيشتري نسبت به جمع دارد را اولويت يا Precedence مي گويند. اولويت مجموعه اي از قوانين براي ترتيب عملگر ها مي باشند كه بايد انجام شوند.ضرب داراي اولويت بالاتري نسبت به جمع است.

اگر شما قصد داريد كه اول عمل جمع صورت بگيرد يك راه وجود دارد. در كلاس رياضي شايد به خاطر داريد كه هر جايي كه پرانتز قرار دارد اول اجرا مي گردد. VBScript نيز همين گونه رفتار مي كند.
قرار دادن پرانتز در داخل عبارت قبلي به شما عبارت 3*(5+2) را مي دهد كه برابر با 21 مي باشد. پرانتز ها ميتوانند با هر نوع عملگري كه قصد داريد ابتدا اجرا گردند به كار روند.

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


تقسيم يا Division
VBScript دو نوع مختلف از تقسيم را دارد. اولين نوع را كه احتمالا با آن آشنايي بيشتري داريد تقسيم استاندارد مي باشد كه با علامت (/) slash نشان داده مي شود. اين نوع تقسيم دو مقدار عددي را مي گيرد و يك خارج قسمت مميز شناور را بر مي گرداند. براي مثال 5/2 برابر با 2/5 و 4/5 مقدار 0.8 مي باشد.
بعضي از تقسيم ها نتيجه اي دارند كه پايان ندارد. در اين موارد از بهترين تقريبي كه سيستم مي تواند ذخيره كند استفاده مي گردد. براي مثال در مورد 1/3 كامپيوتر نمي تواند مقدار دسيمال تكرار پذير نا محدود 0.3333 را ذخيره كند... همچنين از تقسيم بر صفر نيز اجتناب نماييد. تقسيم بر صفر يا يك عددي نزديك به صفر كه كامپيوتر آن را صفر در نظر مي گيرد يك خطا را ايجاد مي نمايد.

Integer Division يا خارج قسمت
عبارت زير را در نظر بگيريد:
5 تقسيم بر 3 ميشود 1 با باقيمانده 2.
عملگر هاي خارج قسمت و با قيمانده به شما اجازه مي دهندكه اين نوع تقسيم را در VBScript انجام دهيد. عملگر خارج قسمت با علامت () backslash نشان داده مي شود و يك عدد را بر مي گرداند. براي مثال:
53 Returns 1
42 Returns 2
08 Returns 0
1.2 Returns 0
بر عكس بيشتر زبان هاي برنامه نويسي خارج قسمت حتي وقتي اعداد به صورت مميز شناور نيز باشند كار مي كند. وقتي كه عملگر خارج قسمت براي اعداد مميز شناور به كار برده ميشود عدد به نزديكترين integer گرد مي شود. براي مثال:
42.2 Returns 2
8.32.6 Returns 2

باقيمانده يا Modulus
عملگر ديگري كه به همراه خارج قسمت به كار برده مي شود عملگر باقيمانده مي باشد. در حالي كه عملگر integer division خارج قسمت را بر مي گرداند, هنگامي كه دو عدد بر يكديگر تقسيم مي شوند, عملگر modulus مقدار باقيمانده را بر مي گرداند. براي مثال:
5 mod 3 Returns 2
4 mod 2 Returns 0
0 mod 8 Returns 8
1 mod 2 Returns 1
4 mod 2.2 Returns 0
8.3 mod 2.6 Returns 2


فايده اين دو عملگر آخري ممكن است اكنون براي شما آشكار نباشد اما در حقيقت آنها بسيار پر قدرت مي باشند. به عملگر هاي باقيمانده زير توجه كنيد.
0 mod 3 Returns 0
1 mod 3 Returns 1
2 mod 3 Returns 2
3 mod 3 Returns 0
4 mod 3 Returns 1
5 mod 3 Returns 2


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

Exponentiation يا عملگر توان
در VBScript عملگر توان به وسيله سمبول (^)carat نشان داده مي شود. اگر شما چيزي در مورد توان به ياد نمي آوريد توجه كنيد كه (b دفعه) a^b = a*a*a*a*a براي مثال:
3^3 = 3*3*3* = 27
5^2 = 5*5 = 25
6^3 = 6*6*6 = 216
همچنين توجه كنيد كه توان از چپ به راست اجرا مي گردد. اين به آن معني است كه اگر شما يك عبارت رياضي به صورت 2^3^2 داريد در ابتدا 2^3 انجام مي شود و سپس نتيجه به توان 2 مي رسد.
2^3^2 = 8^2 =64


عملگر نقيض يا Negation
عملگر نقيض عملگري است كه اعداد مثبت را به اعداد منفي تبديل مي‌نمايد و بر عكس. اين عملگر مثل اين است كه يك عدد را در 1- ضرب كنيم. عملگر نقيض با سمبول dash نمايش داده مي شود.

واژه جديد: فرق بين عملگر نقيض با عملگر تفريق در اين است كه عملگر تفريق _ مانند جمع, ضرب و ديگر عملگر هايي كه قبلا مورد بحث قرار گرفتند _ عملگر هايي دو تايي مي باشند. يك عملگر دو تايي عملگري است كه داراي دو آرگومان مي باشد.

واژه جديد: بر عكس, عملگر نقيض يك عملگر تكي مي باشد. يعني اين كه اين عملگر فقط يك آرگومان دارد. بنابراين علامت dash وقتي بين دو مقدار عددي به كار رفته باشد براي تفريق به كار مي رود و وقتي در جلوي آن يك آرگومان باشد به عنوان عملگر نقيض به كار مي رود.

به كار بردن عملگر هاي رياضي در كنار يكديگر


<% @ Language="VBScript" %>
<% Option Explicit
Dim iTerm1, iTerm2, sngArithmetic, sngGeometric
%>


<%
iTerm1 = 5
iTerm2 = 16
Response.Write("We are computing the averages of ")
Response.Write(iTerm1)
Response.Write(" and ")
Response.Write(iTerm2)
%>


<%
sngAritmetic = iTerm1 + iTerm2
sngAritmetic = sngAritmetic / 2
sngGeometric = (iTerm1 * iTerm2)^0.5
Response.Write(" Their arithmetic mean is ")
Response.Write(sngArithmetic)
Response.Write(" and their geometric mean is ")
Response.Write(sngGeometric)
%>




خط 3 متغير هايي كه در اين اسكريپت به كار رفته است را تعريف مي نمايد. خط 8 يكي از متغير ها را با عدد 5 مقدار دهي مي كند. در خط 9 متغير ديگر با عدد 16 مقدار دهي مي شود. خطوط 10 تا 13 يك پيغام را نمايش مي دهند كه به كاربر مي گويد كه چه اعدادي براي محاسبات رياضي مورد استفاده قرار گرفته اند.
خطوط 17 و 18 محاسبات رياضي كه بين دو عدد مي باشند را نشان مي دهد. Arithmetic_mean معدل گيري ساده اي مي باشد كه شما در مدرسه آن را آموخته ايد. خط 17 دو عدد را مي گيرد و آن ها را با يكديگر جمع مي كند و نتيجه را در متغير sngArithmetic ذخيره مي نمايد. در خط 18 متغير sngArithmetic بر عدد تقسيم مي شود و نتيجه در متغير sngArithmetic ذخيره مي گردد. توجه كنيد كه استفاده از slash نشان دهنده اين است كه ما از تقسيم مميز شناور به جاي نوع integer استفاده نموده ايم. اكنون متغير sngArithmetic معدل بين دو عدد را نگهداري مي نمايد.
خط 19 معدل هندسي را محاسبه مي كند. اگر شما با معدل هندسي بين دو عدد قبلا برخورد نداشته ايد آن عبارتست از جذر ريشه هاي دو عدد. براي محاسبه ابتدا دو عدد را با يكديگر ضرب مي كنيم سپس نتيجه را به توان 0.5 مي رسانيم. رساندن يك عدد به توان 0.5 معادل گرفتن جذر ريشه آن عدد مي باشد. توجه كنيد كه پرانتز هايي كه در خط 19 مورد استفاده قرار گرفته اند ضروري مي باشند. بدون وجود آنها عمل توان رساني ابتدا انجام مي گرفت و سپس عمل ضرب صورت مي گرفت.
خطوط 20 تا 23 چندين پيام بسته را چاپ مي كند. مقادير داخل متغير هاي sngArithmetic و sngGeometric نمايش داده مي‌شوند.
 


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
Concatenation يا عملگر الحاق
سه‌شنبه 01 فروردین 1391 ساعت 20:03 | بازدید : 2034 | نوشته ‌شده به دست cpu-learn | ( نظرات 4 )

Concatenation يا عملگر الحاق 

عملگر هاي رياضي كه ما در مورد آن ها بحث نموديم بر روي اعداد عملياتي را انجام مي دادند. عملگر الحاق عملگري است كه بين دو رشته عمل مي نمايد. دو رشته را به يكديگر متصل مي كند تا تبديل به يك رشته شوند. عملگر الحاق ممكن است يا با علامت (+) نشان داده شود يا با (&)ampersand . اما علامت & براي جلوگيري از اشتباه با عملگر جمع بيشتر ترجيح داده مي شود. به چند مثال توجه نماييد:


"Hello" & "World" becomes " HelloWorld"
"Hello" & "World" becomes "HelloWorld"
"My name is" &"John Smith" becomes "My name is John Smith
"


همانند عملگر هاي رياضي عملگر الحاق ممكن است چندين بار در يك جمله مورد استفاده قرار بگيرد. مانند:
"Welcome," & "John Smith" & "to the wonderful world of strings"
كه مي شود:
"Welcom, Jhon Smith , to the wonderful world of string"
ليست زير نشان مي دهد كه چطور عملگر الحاق رشته مي تواند زندگي را آسانتر نمايد! به جاي استفاده ثابت از Response.Write شما مي توانيد داده را انتخاب كنيد و آنها را با عملگر الحاق به يكديگر بچسبانيد و بر روي خروجي نمايش دهيد.
ساده كردن كارها با استفاده از الحاق رشته ها:


<% @ Language="VBScript" %>
<% Option Explicit
Dim iTerm1, iTerm2, sngArithmetic, sngGeometric, strOut
%>


<%
iTerm = 5
iTerm = 16
strOut = "We are computing the averages of " & iTerm1 & _
" and " & iTerm2 & "
"
Response.Write(strOut)
sngArithmetic = iTerm1 + iTerm2
sngArithmetic = sngArithmetic / 2
sngGeometric = (iTerm1 * iTerm2)^0.5
strOut = "their arithmetic mean is " & sngArithmetic & _
" and their geometric mean is " & sngGeometric
Response.Write(strOut)
%>




اين ليست همان كاري را انجام مي دهد كه ليست قبل انجام مي داد. تنها فرق اين دو در آن است كه ما قادر هستيم كه فراخواني Response.Write را با استفاده از عملكرد الحاق رشته به صورت cut down انجام دهيم.
خطوط 10 و 11 همه خروجي كه قبلا در ليست قبل از خط 10 تا 13 بود را نمايش ميدهند و آنها را به يكديگر مي چسبانند. سپس در خط 12 ما فقط با استفاده از يك Response.Write تمام پيغام را به خروجي به صورت يكجا مي فرستيم.
خطوط 13 تا 15 همان عملياتي را كه قبلا انجام شده بود را انجام مي دهند. اكنون خطوط 16 و 17 رشته هاي خروجي را به هم مي چسبانند. يك بار ديگر از متغير strOut براي نگهداري نتيجه استفاده مي شود. سپس خط 18 براي نوشتن محتويات متغير strout بر روي خروجي به كار مي رود.
 

منبع:macromediax.com


|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0

صفحه قبل1234صفحه بعد

💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران