امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
جستجو در Memo
نویسنده پیام
iranproud آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 3
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #1
Exclamation  جستجو در Memo
به نام خدا
با سلام و عرض خسته نباشید

من یک برنامه کوچیک نوشتم با دلفی برای بانک مقاله.
برای قسمت جستجو در متن مشکل دارم!درس خون
می خوام مثل عمل find یا همون (ctrl+f) که در notepad هست کار کنه.
اما نمیدونم چطور میتونم این کار رو انجام بدم.
راستی بانک اطلاعاتیم هم اکسس هست.
ممنون میشم اگه راهنماییم کنین.
دعا
۲۶-تير-۱۳۸۸, ۱۷:۵۱:۴۰
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: جستجو در Memo
شما از table استفاده میکنی یا از query?
۲۷-تير-۱۳۸۸, ۱۵:۰۰:۵۸
وب سایت ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #3
RE: جستجو در Memo
اول باید از قسمت Dialogs یک FindDialog1 را گذاشته و بعد در رویداد OnFind کد های زیر را بنویسید
البته متغیر FSelPos در قسمت private از نوع integer باید قبلا تعریف کرده باشید
موفق باشید شبح

کد:
private
{ Private declarations }

FSelPos: integer;
public
{ Public declarations }

end;

var
Form1 : TForm1;

implementation

{$R *.dfm}

procedure TForm1.FindDialog1Find(Sender : TObject);
var
S : string;
startpos : integer;
begin
with TFindDialog(Sender) do
begin
{If the stored position is 0 this cannot be a find next. }

if FSelPos = 0 then
Options := Options - [frFindNext];

{ Figure out where to start the search and get the corresponding
text from the memo. }

if frfindNext in Options then
begin
{ This is a find next, start after the end of the last found word. }

StartPos := FSelPos + Length(Findtext);
S := Copy(Memo1.Lines.Text, StartPos, MaxInt);
end
else
begin
{ This is a find first, start at the, well, start. }

S := Memo1.Lines.Text;
StartPos := 1;
end;
{ Perform a global case-sensitive search for FindText in S }

FSelPos := Pos(FindText, S);
if FSelPos > 0 then
begin
{ Found something, correct position for the location of the start
of search. }

FSelPos := FSelPos + StartPos - 1;
Memo1.SelStart := FSelPos - 1;
Memo1.SelLength := Length(FindText);
Memo1.SetFocus;
end
else
begin
{ No joy, show a message. }

if frfindNext in Options then
S := Concat('There are no further occurences of "', FindText,
'" in Memo1.')
else
S := Concat('Could not find "', FindText, '" in Memo1.');
MessageDlg(S, mtError, [mbOK], 0);
end;
end;
end;

// Show the FindDialog
// Den FindDialog anzeigen

procedure TForm1.Button1Click(Sender : TObject);
begin
FSelPos := 0;
FindDialog1.Execute;
end;


Assembly Language 039

(آخرین ویرایش در این ارسال: ۰۴-مهر-۱۳۸۸, ۰۲:۱۸:۳۶، توسط The.Ghost.)
۰۴-مهر-۱۳۸۸, ۰۱:۳۸:۵۴
ارسال‌ها
پاسخ
تشکر شده توسط : iranproud, alidehban


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  جستجو در بانک اطلاعاتی SQL The.Ghost 2 2,409 ۱۸-مرداد-۱۳۹۴, ۱۹:۰۴:۲۶
آخرین ارسال: Di Di
Question کار با memo spase 1 2,160 ۱۷-مرداد-۱۳۹۳, ۱۱:۵۹:۵۸
آخرین ارسال: veyskarami
  کامپوننتی قویتر از memo siroosss 5 2,453 ۲۴-دى-۱۳۹۲, ۲۳:۳۱:۴۶
آخرین ارسال: siroosss
  [سوال] غیرفعال کردن اسکرول خودکار Memo ؟ godvb 3 2,691 ۱۱-اسفند-۱۳۹۱, ۱۳:۲۰:۰۷
آخرین ارسال: veyskarami
  جستجو در اینترنت با دلفی 7 saghri 2 3,599 ۱۶-شهریور-۱۳۸۹, ۲۳:۲۹:۱۵
آخرین ارسال: lord_viper
  دستور جستجو mohsen_9642 4 4,619 ۲۹-فروردین-۱۳۸۸, ۱۶:۴۶:۴۰
آخرین ارسال: mohsen_9642

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS