تخفیف های امروز

چگونگی جستجوی یک کلمه در متن لود شده در تکست ویو

  • 1396/11/28
  • 13 بازدید
  • 10 پاسخ

چگونگی جستجوی یک کلمه در متن لود شده در تکست ویو :

با سلام و تشکر از آموزشهای مفیدتان که هشت ویدیوی ابتدایی برای من که مبتدی هستم خیلی کمک کننده بود.

می خواستم یک ادیت تکستی که دارم یک کلمه را که درون آن وارد یا تایپ می کنم با زدن یک کلید با نام(جستجو) اگر آن کلمه در متنی که در یک تکست ویو زیر آن لود کرده ام . وجود داشته باشد آن کلمه را پیدا و رنگی کند . و با زدن دکمه دیگر با نام (کلمه بعدی) اگر باز همان کلمه در آن متن وجود دارد پیدا کند و آن را رنگی کند و الا پیغامی نمایش دهد که کلمه مورد جستجو پیدا نشد.

من کدهایی دارم که در فرمهای ویندوزی کار می کند ولی در زامارین کار نمی کند.

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

ضمنا اگر پروژه ای در این زمینه باشد. حاضر به پرداخت هزینه آن نیز می باشم.

با تشکر مجدد.

ضمنا می خواهم فرمم چیزی شبیه فرم زیر باشد.

نمونه فرمی که می خواهم ایجاد نمایم.

mohammadfallahi

mohammadfallahi

3 پرسش 8 پاسخ
  • 1396/11/28
  • ساعت 17:41

سلام

والا اصلا منظورتون رو متوجه نشدم

  • 1396/11/28
  • ساعت 20:47

سلام و ممنون از توجه اتان:

نمونه ویندوزی برنامه مورد نظرم را ضمیمه نمودم ولی برای زامارین نمی دانم چه کدی بنویسم. لطفا راهنمایی فرمایید.

کد جستجو:

  private void BtnSearch_Click(object sender, EventArgs e)
            {
                int StartPosition = default(int);
                CompareMethod SearchType = default(CompareMethod);

                StartPosition = this.Richtextbox1.Text.IndexOf(txtSearch.Text) + 1;

                if (StartPosition == 0)
                {
                    MessageBox.Show(txtSearch.Text.ToString() + " پیدا نشد", "نتیجه ای پیدا نشد", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return;
                }

                this.Richtextbox1.Select(StartPosition - 1, txtSearch.Text.Length);
                this.Richtextbox1.ScrollToCaret();
                Richtextbox1.Focus();
            }

کد برای کلمه بعدی:

        private void BtnNext_Click(object sender, EventArgs e)
        {
            int StartPosition = this.Richtextbox1.SelectionStart + 2;
            CompareMethod SearchType = default(CompareMethod);

            StartPosition = this.Richtextbox1.Text.IndexOf(txtSearch.Text, StartPosition - 1) + 1;

            if (StartPosition == 0)
            {
                MessageBox.Show(txtSearch.Text.ToString() + " پیدا نشد", "نتیجه ای پیدا نشد", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            this.Richtextbox1.Select(StartPosition - 1, txtSearch.Text.Length);
            this.Richtextbox1.ScrollToCaret();
            Richtextbox1.Focus();
            }

فرم ویندوزی:

  • 1396/11/28
  • ساعت 20:57

متن را به صورت آرایه در بیارید با split رو space سپس با متد findindex میتکنید در ارایه پیداش کنید

  • 1396/11/28
  • ساعت 21:27

با تشکر فراوان و وقتی که گذاشتید.

باید بیشتر بررسی کنم تا به نتیجه برسم.

چون مبتدی ام حقیقتا زیاد متوجه نشدم.

  • 1396/12/04
  • ساعت 00:35

سلام  مهندس.

Split را تا حدودی متوجه شدم.

اگر ممکن است در مورد متد findindex توضیحی دهید یا کد آن را اعلام نمایید.

ضمنا آیا با متد findindex می شود background  کلمه مورد جستجو را رنگی کرد؟یا باید کد دیگری نوشت؟

با تشکر فراوان

  • 1396/12/04
  • ساعت 07:56

از طریق این متد میتونید کلمه را پیدا کنید سپس هر کاری بخواهید میتونید باهاش بکنید

البسته فکر نکنم از طریق edittext بتونید رنگش رو تغییر دهید

اجازه دهید یه تحقیق کنم و نتیجه را اعلام میکنم

  • 1396/12/04
  • ساعت 10:22

سلام . سپاسگزارم از راهنمایی های مفیدتان.

  • 1396/12/16
  • ساعت 15:10

سلام مهندس.  حالا که به سلامتیدوره آموزشی اتان به پایان رسیده؟ در صورت امکان در مورد سوال جستجو در textviewتوضیح بیشتری دهید.

با تشکر فراوان

  • 1396/12/16
  • ساعت 16:37

چشم

سعی میکنم نمونه ای در اسرع وقت آماده کنم

  • 1396/12/16
  • ساعت 17:00

خیلی لطف دارید . انشالله موفق باشید.

logo-samandehi