امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
عملگر like
نویسنده پیام
seyyed آفلاین
كاربر دو ستاره
**

ارسال‌ها: 72
موضوع‌ها: 27
تاریخ عضویت: اردیبهشت ۱۳۸۴

تشکرها : 1
( 2 تشکر در 2 ارسال )
ارسال: #1
عملگر like
سلام
فرض كنيم يه متغير رشته داريم به نام A
حالا مي خوام تو يه شرط بگم اگه حرف اولش يكي از حروف a,d,e,h,l,o,y,t,w,z هست فلان كار رو بكن.
اين رو چه طوري مي تونم با استفاده از عملگر like بگم؟
۲۰-آبان-۱۳۸۶, ۱۵:۳۶:۱۲
وب سایت ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #2
RE: عملگر like
اگه منظورت استفاده از دستورات SQL هست باید بگم که با like نمی تونی این کار رو بکنی ولی می تونی از تابع های وی بی توی دستورات SQL استفاده کنی می تونی از دستور mid استفاده کنی

پارک24
مرجع خرید و فروش خودرو
۲۰-آبان-۱۳۸۶, ۱۶:۳۹:۰۷
وب سایت ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #3
RE: عملگر like
اینجور کارها رو با Regular Expression ها انجام میدن .

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۲۰-آبان-۱۳۸۶, ۱۶:۵۵:۲۰
ارسال‌ها
پاسخ
seyyed آفلاین
كاربر دو ستاره
**

ارسال‌ها: 72
موضوع‌ها: 27
تاریخ عضویت: اردیبهشت ۱۳۸۴

تشکرها : 1
( 2 تشکر در 2 ارسال )
ارسال: #4
RE: عملگر like
سلام

far_222000 نوشته است:اگه منظورت استفاده از دستورات SQL هست باید بگم که با like نمی تونی این کار رو بکنی ولی می تونی از تابع های وی بی توی دستورات SQL استفاده کنی می تونی از دستور mid استفاده کنی

نه! SQL نمي خوام
من كي گفتم برنامه ام ديتابيسي است؟ برا يه if تو يه برنامه معمولي ميخوام.
درضمن مي شه بگي چه طوري از Mid استفاده كنم؟

Mamad2003 نوشته است:اینجور کارها رو با Regular Expression ها انجام میدن .

با چي چي؟
اين كه گفتي چيه؟
(آخرین ویرایش در این ارسال: ۲۰-آبان-۱۳۸۶, ۲۰:۱۶:۲۴، توسط Darg.)
۲۰-آبان-۱۳۸۶, ۱۹:۲۶:۰۴
وب سایت ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #5
RE: عملگر like
توضیحش مفصله . فقط بدون این تکنیک اینطور بکار میره که یک متن رو در مقابل یک شرط خاص یا pattern مقایسه میشه . معمولا این راهی هست برای بررسی صحت دستوری و ساختاری متن ها که طبق نیاز ما ، شروطی نسبتا پیچیده دارند و به برنامه نویسی بسیار زیادی نیاز هست که اینقدر کنترل و بررسی رو براشون ایجاد کنیم . این مبحث خیلی گسترده است و برای اطلاعات بیشتر و برای نحوه آشنایی با طرز ساخت Pattern ها به لینک زیر مراجعه کن :
http://en.wikipedia.org/wiki/Regular_expression

===============================================
این ریفرنس رو به برنامه ات اضافه کن : Microsoft VBScript Regular Expressions 5.5

بعد تابع زیر رو به برنامه ات اضافه کن :
کد:
Function TestRegExp(myPattern As String, myString As String) as Boolean
  

   Dim objRegExp As RegExp
   Set objRegExp = New RegExp
   objRegExp.Pattern = myPattern
   objRegExp.IgnoreCase = False
   objRegExp.Global = True

  
   If (objRegExp.Test(myString) = True) Then
        TestRegExp = true
   Else
    TestRegExp = false
  
   End If
  
End Function


پارامتر اول تابع Pattern نام داره و پارامتر دوم هم متن شماست .
واسه اون چیزی که شما میخوای :
Pattern مورد نظر شما اگر اشتباه نکنم باید رشته *+[adehloytwz] باشه . این یعنی حرف اول رشته شما باید شامل یکی از اون حروف باشه !
حالا تابع رو با Pattern و رشته مورد نظرت صدا بزن و مقدار بازگشتی رو چک کن . اگر true بود یعنی رشته شما اون شرط رو داره اگر نه نداره ! مثلا :

کد:
if TestRegExp("[adehloytwz]+*","allofus") then
    msgbox("True!")
end if

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

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
(آخرین ویرایش در این ارسال: ۲۰-آبان-۱۳۸۶, ۲۰:۲۹:۵۲، توسط Mamad2003.)
۲۰-آبان-۱۳۸۶, ۲۰:۲۱:۵۷
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Cool تقسيم دو عدد با استفاده از عملگر تفريق آرمان 3 7,048 ۲۰-دى-۱۳۸۵, ۲۲:۴۲:۱۹
آخرین ارسال: آرمان

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS