PDA

View Full Version : جست و جو در Rich edit



Felony
سه شنبه 12 شهریور 1387, 18:13 عصر
:لبخندساده:سلام ...

:متفکر:من میخوام یه رشته رو تو Richedit جست و جو کنم و هر جا مثلا Ali بود به رنگ قرمز در بیاد ، کد زیر رو نوشتم ولی میدونم اشتباه است :


var
a,i:integer;
str:string;
begin
str:=rich.Text;
for i:=1 to length(rich.Text) do begin
a:=pos('ali',str);
rich.SelStart:=a-1;
rich.SelLength:=3;
rich.SelAttributes.Color:=clred;
str:=copy(rich.Lines.Text,a+3,length(rich.Text));
end;

چون من هر دفعه که Ali در متغیر str یافت میشه اون رو قرمز میکنم و از بقیه ی اون به بعد تو متغیر str ذخیره میکنم و میگم دوباره str رو بگرد ولی مشکل اینجاسن کدی که من نوشتم richedit رو قرمز میکنه در صورتی که من متغیر str رو میگردم پس باید یه کاری کنم که نتیجه ی rich.selstart و rich.sellength و rich.selattr روی Str اعمال شه و نتیجه اش در Richedit نمایش داده شه.

در ضمن اون عدد 3 که به کار بردم طول رشته ی Ali هست .

لطفا کمک کنید .

vcldeveloper
سه شنبه 12 شهریور 1387, 18:35 عصر
با استفاده از PosEx رشته RichEdit را از انتهای رشته ایی که پیدا کردید، جستجو کنید.

Felony
سه شنبه 12 شهریور 1387, 21:23 عصر
با استفاده از PosEx رشته RichEdit را از انتهای رشته ایی که پیدا کردید، جستجو کنید.

:متفکر:دقیقا متوجه منظورتون نشدم .

در ضمن من وقتی دستور posEx رو وارد میکنم دلفی اون رو نمیشناسه ، در Help دلفی گشتم و پیداش کردم و دیدم مربوط به یونیت خاصی هم نیست ، میشه کمک کنید چرا دلفی من این دستور رو نمیشناسه .

Hsimple11
سه شنبه 12 شهریور 1387, 23:44 عصر
مگه جستجو در RichEdit قبلا بطور کامل بحث نشده بود؟؟

vcldeveloper
چهارشنبه 13 شهریور 1387, 01:00 صبح
در ضمن من وقتی دستور posEx رو وارد میکنم دلفی اون رو نمیشناسه ، در Help دلفی گشتم و پیداش کردم و دیدم مربوط به یونیت خاصی هم نیست ، میشه کمک کنید چرا دلفی من این دستور رو نمیشناسه .
یونیت StrUtils را به لیست uses اضافه کنید. درباره PosEx توی سایت تاپیک زیاد داریم.