سلام
چرا وقتی میخوام داخل یه textbox حرف " ک" رو جستجو کنم پیدا نمیکنه ولی بقیه حروف رو به راحتی پیدا میکنه ؟
سلام
چرا وقتی میخوام داخل یه textbox حرف " ک" رو جستجو کنم پیدا نمیکنه ولی بقیه حروف رو به راحتی پیدا میکنه ؟
خب چطور جستجو ميكني كه پيدا نميكنه ؟
نوشته شده توسط Mostafa1024
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اين برنامه رو ببين هر حرفي رو كه تو textbox2 تایپ میکونی تو textbox1 پیدا میکنه بجوز حرف " ک " اصلاً هر کلمه ای رو که توش "ک" داشته باشه پیدا نمیکنه . مشکلش چیه ؟
كم كم داريم ميريم تو سال 85 ولي هنوز كسي كمكم نكرده !
مهدي جون من كدتو يه مقداري عوض كردم . ببين جواب ميده ؟:
Dim x As Integer
s=1
if text1.selstart<>0 then
s = text1.selstart+1
endif
x = InStr(s, Text1.Text, Text2.Text, vbTextCompare)
If x <> 0 Then
Text1.SelStart = Int(x) - 1
Text1.SelLength = Len(Text2.Text)
Text1.SetFocus
Else
Text1.SelStart = 0
End If
نه آقا Mostafa جواب نداد . بازم ممنون از توجه شمانوشته شده توسط Mostafa1024
الآن برنامتو ديدمو دانلود كردم. يه تغييراتي توش دادم. ببين اين كد چه طوره.
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by Payman_62; 15-03-2006 at 18:12.
دوست عزیز سلام
معمولا در برنامه نویسی ها حرف ک و ی مشکل ساز هستند ما دو نوع ک داریم:
ک و ك
ی و ي
برای همین همیشه دردسر ساز میشن اگه توی برنامتون دقت کنید میبینید که حرف ك اگر به این شکل تایپ بشه بدرستی سرچ رو انجام میده ولی به شکل معمول نه.
کدی هم دوستمان پیام نوشته اند کاملا درست کار میکنه و دقیقا همین کاری که میگم انجام میده یعنی موقعی که ک رو تایپ میکنی و میخوای جستجو انجام بدی اونو به این ك تبدیل میکنه.
ایشااله موفق باشی
پست قبليو اديت كردم. بهتره به جاي اون 6 خط از replace استفاده شه.
اگه متنت هميشه همين قدر كوتاهه كه هيچي ولي اگه ممكنه متن بلند باشه بهتره الگوريتم برنامه رو طوري تغيير بدي كه هر وقت در متن تغييري ظاهر شد تابع replace وارد عمل شه كه با هر بار سرچ تو كل متن دنبال ك نگرده و سرعت نياد پايين. عمل replace رو براي ي كه رابين هود اشاره كرد هم انجام بده.
Last edited by Payman_62; 15-03-2006 at 18:19.
آق مهدي من موقعي كه پست قبلي رو فرستادم وي بي دم دستم نبود كه تستش كنم . ولي امروز همون برنامه زير رو توي وي بي باز كردم .
احتمالا مشكل توي اون فونتي هست كه انتخاب كردي . چون من فونت Arial رو انتخاب كردم و خيلي راحت جواب داد
x = InStr(1, Text1.Text, Text2.Text, vbTextCompare)
If x <> 0 Then
Text1.SelStart = Int(x) - 1
Text1.SelLength = Len(Text2.Text)
Text1.SetFocus
Else
Text1.SelStart = 0
End I
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)