PDA

View Full Version : دو سوال در مورد رشتها



بمب منطقی
دوشنبه 13 مرداد 1382, 13:50 عصر
با سلام :

سوال اول: با چه کدی می تونم کراکتری رو تو برنامم مشخص کنم تا هر وقت کاربر اون کراکتر رو داخل یه text box وارد کرد , text box مربوطه اون کراکتر رو نشون نده.
ببخشید باید از رویداد KeyPress استفاده کنم و اگه آره , به چه صورت؟

سوال دوم: امکان جستجوی هوشمند داخل برنامه یا متن یا یه text box.
یعنی یه find برای برنامه بنویسیم که دو کار زیرو که از امکانات تقریبا , همه نرم افزارهای ویرایش متن است رو انجام بده
1- Match case
2- Find who word only
که اگر check box آنها تیک نخوره , Find برنامه جستجو رو به صورت معمولی انجام بده . یعنی عین find نرم افزار Word .
البته می دونم به توضیح بیشتر نیاز نیست ولی برای محکم کاری, اگر مورد یک تیک نخوره , بزرگی و کوچیکی حروفات رو در نظر نگیره و اگر مورد دو تیک نخوره , چسبیده بودن اون کلمه یا حرف یا کراکتر رو به مابقی کلمات متن مورد جستجو, در نظر نگیره.

با تشکر قبلی از راهنمایی های شما. :oops: :oops:

S.Azish
دوشنبه 13 مرداد 1382, 14:00 عصر
جناب بمب منطقی, سوال اولتون بله از Keypress



If KeyAscii = VBKey0 Then KeyAscii = 0

مثال بالا مانع ورود عدد صفر میشه.

برای سوال دوم هم صورت مسئله رو بگید برای مثال بگید من در یک قسمت برنامه میخوام Database خودمو جستجو کنم که Access هست و این مشخصاتو .... داشته باشه و این مشکلات رو دارم.

بمب منطقی
دوشنبه 13 مرداد 1382, 15:04 عصر
با سلام مجدد:

شما فرض کنید که یه جعبه متن ساده , توی برنامم دارم که کاربر تو اون جعبه متن میتونه متن مورد نیاز خودشو وارد و بعدشم ذخیره کنه . همچنین تو این برنامه یه فرم دیگه هم داریم که کار همون find رو به همون طریقی که گفتم انجام میده .
بعدا من سعی می کنم از جواب شما الهام گرفته و تو موارد دیگه هم مثل database , یا هر جای دیگه ای از اون روش استفاده کنم.

واقعا شما عزیزان به گردن من- در موارد علمی- حق بزرگی دارید. من هر جا که بتونم این سایت رو تبلیغ می کنم.

به امید بی نیازی کشور ایران از بیگانه ها و دشمنان این کشور عزیز . :wink:

بمب منطقی
چهارشنبه 22 مرداد 1382, 18:01 عصر
بالاخره کسی نمی خواد به من جواب بده؟
:cry: :cry: :cry: :cry: :cry: :cry: :( :( :( :( :( :(

سعید قدیری مقدم
چهارشنبه 22 مرداد 1382, 19:45 عصر
سلام
من دقیقا سوال دوم شما رو متوجه نشدم اما اگه منظورتون این باشه که داخل یک متن چطوری میتونیم کلمه یا عبارت خواصی رو پیدا کنیم شما میتونید از دستور instr استفاده کنید این دستور یک رشته را داخل یک رشه دیگه پیدا میکنه


a="in the name of god"
b=instr(a,"the")

خوب b مقدار 4 رو برمیگردونه چون the از کاراکتر 4 به بعد داخل رشته قرار گرفته
[/code]

بمب منطقی
پنج شنبه 23 مرداد 1382, 15:41 عصر
سلام:
حالا که اینو گفتی, اگه میشه بگو با چه دستوری میشه به تک تک کاراکترهای یه رشته دسترسی داشت و با چه دستوری هم میشه تعداد کل کراکترهای یه رشته رو بدست آورد.

خیلی ممنون :oops:

سعید قدیری مقدم
پنج شنبه 23 مرداد 1382, 15:58 عصر
سلام بمب منطقی عزیز
برای بدست آوردن کل کاراکتر ها در یک رشته میتونی از دستور len استفاده کنی

x=len("in the name of god")

x تعداد کاراکتر ها رو بر میگردونه

برای اینکه به تک تک کاراکتر ها دسترس داشته باشی میتونی از دستور mid استفاده کنی


x="in the name of god"
for i = 1 to len(x)
if mid(x,i,1)="t" then beep
next

تو کد بالا تک تک کاراکتر های رشته x کنترل میشن و وقتی به کاراکتر t رسید دستور beep اجرا میشه

موفق باشی

بمب منطقی
پنج شنبه 23 مرداد 1382, 16:06 عصر
ببخشید دوباره مزاحم شدم ولی تو این دستور if mid(x,i,1)="t" then beep
این یک چیکار میکنه. و تو دستور int میشه از متغیر رشته ای هم استفاده کرد.
با تشکر :oops:

سعید قدیری مقدم
پنج شنبه 23 مرداد 1382, 16:45 عصر
دستور mid به شکل


mid(string,start,length)

هست start مشخص میکنه که از کاراکتر شماره start به اندازه lenght کاراکتر رو از string بردار

در مثال هم منظور از 1 این هست که فقط یک کاراکتر رو بردار حال اگه ما بجای t در رشته دنبال the بگردیم باید به جای 1 عدد 3 بگذاریم تا در هر برداشت 3 کاراکتر خونده بشه .

در باره int من شرمنده :oops: موقع نوشتن اشتباه کردم :oops: شما int رو فراموش کن اون len بود

x=len("in the name of god")

باز ببخشید :oops: :oops: :oops:

بمب منطقی
پنج شنبه 23 مرداد 1382, 17:33 عصر
بازم از لطفت ممنونم.
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: