View Full Version : کنتزل شرط به صورت رشته
SADAF
سه شنبه 24 مهر 1386, 10:20 صبح
من در یک متغیر رشته ای شرطی را مثلاً به صورت زیر دارم :
"A<100 AND A>0"
حال یک متغیر عددی هم دارم که می خواهم چک کنم آیا مقدار آن متغیر در شرط فوق صدق می کند یا خیر. آیا راهی وجود دارد که بتوانم چک کنم خروجی این رشته از لحاظ منطقی TRUE یا FALSE است ؟
فرهاد.ف
سه شنبه 24 مهر 1386, 13:44 عصر
فکر کنم باید رشته رو بشکنی و اپراتورها مثل and , or , .... و همچنین عددها رو از توش استخراج کنی بعدش ادامه بدی.
mohinsoft
سه شنبه 24 مهر 1386, 18:03 عصر
با عرض سلام
چیزی که شما میخواهید مشابه طراحی کامپایلر هست برای این کار شما باید روی کلیه ی عملگر ها تسلط داشته باشید و با توابع رشته ای مرز بین عملگرها وعبارات محاسباتی و متغیر ها را مشخص کنید این عمل بستگی به پیچیدگی عبارت شما داره اگر عبارت شما همین باشه که کار ساده است ولی اگر یک راه حل عمومی بخواهید باید بیشتر فکر کنید توابع و دستوراتی که میتونه به شما کمک کنه عبارتند از:
1-length طول یک رشته رو به شما میده
2-pos موقعیت زیر رشنه ای رو تو رشته ی اصلی مشخص میکنه این کاربرد زیاد داره بررسی میکنی که عملگر ها سر جاشون هستن یا نه
3-copy از رشته ی اصلی میتونی زیر رشته ای رو بکنی این هم کاربرد زیاد داره چون اگه عملگر محاسباتی داشتی باید اعداد رو جدا کنی و علیات محاسباتی رو روشون انجام بدی
4-strtoint برای تبدیل اینت به استر هست کارش تابلو هستش
5-inttostr
6-setlength
7-case expersion of دستور کیس برای بررسی وجود عملگری توی عبارت
8 - for این هم لازمه میگی از 1 تا طول رشته بیا این کار رو کن
و..... اگه نتیجه نگرفتی بگو
موفق باشید
SADAF
چهارشنبه 25 مهر 1386, 12:45 عصر
سلام و تشکر از توجهتون
تنها راهی که به ذهن خودم هم رسیده بود همین پردازش زشته بود. ولی گفتم شاید دلفی راه ساده تری برای این مورد داشته باشه !
بازم ممنون
Mahmood_M
چهارشنبه 25 مهر 1386, 13:28 عصر
سلام
سلام و تشکر از توجهتون
تنها راهی که به ذهن خودم هم رسیده بود همین پردازش زشته بود. ولی گفتم شاید دلفی راه ساده تری برای این مورد داشته باشه !
بازم ممنون
توی لینک زیر یک مقاله دو قسمتی هست که سعی کردم توی اون توابع مربوط به کار با رشته ها رو توضیح بدم ، امیدوارم بتونه کمکتون کنه :
مقاله : دستکاری رشته ها ( Pos ، Copy ، Delete و ... ) (http://barnamenevis.org/forum/showthread.php?t=70145)
بحث رشته ها بحث خیلی شیرین و جذابی هست ...
موفق باشید ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.