View Full Version : استفاده از find دیالوگ
1485159
پنج شنبه 31 اردیبهشت 1388, 17:35 عصر
چطوری ازش استفاده کنم!؟.
ممنون.
merced
پنج شنبه 31 اردیبهشت 1388, 23:08 عصر
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer ;
begin
FindDialog1.Execute ;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
nStart, nSelLen : integer;
begin
nSelLen := Length(FindDialog1.FindText);
nStart := Pos(FindDialog1.FindText, Memo1.Text);
if (nStart > 0) then
begin
// Highlight the found text
with Memo1 do
begin
SelStart := nStart - 1;
SelLength := nSelLen;
SetFocus;
end;
end;
end;
شما بايد اول اون رو Exceute كني و بعد از اون در رويداد onFind مشخص كني كه كجا رو و به چه شكلي جستجو كنه
1485159
پنج شنبه 31 اردیبهشت 1388, 23:50 عصر
کدی که گذاشتین اصلا به درد آینکا نمیخوره!!!!
این کد چیکار میکنه!؟..
Felony
جمعه 01 خرداد 1388, 00:18 صبح
کدی که گذاشتین اصلا به درد آینکا نمیخوره!!!!
این کد چیکار میکنه!؟..
کد ایشون درسته ، متنی رو که توی FindDialog نوشته شده رو تو یه Memo دنبالش میگیرده و HighLight میکنش .
فقط اون اول متغییر i رو اضافه تعریف کرده که اونم تو روند برنامه تاثیری نداره .
1485159
جمعه 01 خرداد 1388, 10:19 صبح
این کد بازم من میگم که اشکال داره!!!!
من درستش کردم به این شکل!!!:
with Memo1 do
begin
memo1.SelStart := nStart - 1;
memo1.SelLength := nSelLen;
memo1.SetFocus;
end;
بازم کیگم مشکل دار]!!!
چون دکمه های up و downبی تاثیره!!!
و حرف اول رو در memo نادیده میگیر]!!!!
در ضمن with به چه درد میخوره!؟..
Felony
جمعه 01 خرداد 1388, 13:27 عصر
چون دکمه های up و downبی تاثیره!!!
قرار نیست شما یه خط کد بنویسی و بقیه ی کارها رو خودش انجام بده .
و حرف اول رو در memo نادیده میگیر
حرف اول رو نادیده نمیگیره ، به طور پیش فرض به بزرگیی و کوچیک بودن حروف حساسه .
در ضمن with به چه درد میخوره!؟
وقتی با With به یه شئ اشاره میکنی دیگه لازم نیست برای دست یابی به هر کدوم از متدها و ... اون شئ نامش رو ذکر کنی و فقط کافی هست داخل بلوک with نام متد مورد نظرتون رو بنویسید .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.