نمایش نتایج 1 تا 7 از 7

نام تاپیک: نشون دادن کلمه مشابه در یک TextBox

  1. #1
    کاربر دائمی آواتار shahmahi
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    مشهد
    پست
    161

    Question نشون دادن کلمه مشابه در یک TextBox

    سلام

    دوستان عزیز میخوام بدونم چطوری میشه که وقتی کاربری در یک تکس باکس در حال وارد کردن کلمه ای است، کلماتی رو که مشابه کلمه کاربر هستش رو جلوتر درون TextBox نشون داد.
    فرض بر این هستش که این تکس باکس با یک پایگاه داده درارتباط هستش و کلمات مشابه رو از اونجا نشون میده .

    ممنون میشم راهنماییم کنید .

  2. #2
    کاربر دائمی آواتار Beyondsoft
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران
    پست
    336

    نقل قول: نشون دادن کلمه مشابه در یک TextBox

    سلام دوست عزیز !
    تا اونجا که من اطلاع دارم به صورت پیش فرض ابزاری برای suggestion وجود ندارد.
    یا باید از component ها استفاده کنید (که بنده در vb 6 چنین کاپننتی را سراغ ندارم) اما راه دیگر این است که خود شما یک کامپننت بنویسی !

    در واقع کامپننت شما در زمان textchange می رود به دیتابیس و چک می کند، اگر کلمه ای با این مشاهبت در دیتابیس وجود داشت، یک lalbe کم رنگ ظاهر می شود در مقابلش، که کاربر با زدن کلید Enter می تواند عملیات autocomplete را انجام دهد.

  3. #3
    کاربر دائمی آواتار pcdownload.bloghaa.com
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    زیر گِل
    پست
    278

    نقل قول: نشون دادن کلمه مشابه در یک TextBox

    بهتره يه ليست باكس زير تكست باكس مورد نظر قرار بدي و در رويداد change تكست باكس كد جستجو
    در بانك اطلاعاتي را وارد كني كه كلمات يافت شده را در ليست نشان دهد و با هر بار تغيير متن محتواي ليست پاك ودوباره ليست جديد اضافه شود.
    من زياد اهل بانك اطلاعاتي نيستم چون براي راحتي كار خودم يه فرمت بانك اطلاعاتي ميسازم وازش
    استفاده مي كنم.مثلا برنامه شما را به روش خودم مينويسم:
    دوتا تكست باكس در فرم قرار داده ويك ليست باكس زير text1 قرار دهيد و كد زير را در برنامه بنويسيد:
    text1_textchange
    dim a() as string
    a=split(text2,"&")
    for i=0 to ubound(i)
    if instr(a(i),text1)<>0 then
    list1.additem a(i)
    end if

    و كلمات مورد نظر را به جاي بانك اطلاعاتي در text2 به صورت زير مينويسيم:
    مثلا اگر كلمات or,xor,ali,mp3,oranium باشند در تكست باكس 2 به صورت
    or&xor&ali&mp3&oranium
    مينويسيم خوبي چنين برنامه اي پورتابل بودن آن از نظر بانك اطلاعاتي است.
    آخرین ویرایش به وسیله xxxxx_xxxxx : پنج شنبه 28 آبان 1388 در 13:41 عصر دلیل: تبلیغات

  4. #4
    کاربر دائمی آواتار shahmahi
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    مشهد
    پست
    161

    نقل قول: نشون دادن کلمه مشابه در یک TextBox

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

  5. #5

    نقل قول: نشون دادن کلمه مشابه در یک TextBox

    من با pcdownload موافق نیستم چرا که وقتی پایگاه داده بزرگتر بشه CPU باید کل وقتش رو بزاره واسه پر و خالی کردن لیست باکسها و هم اتصال اون به دیتابیس. من در برنامه هام از این شیوه استفاده کردم و موفق هم بوده : در این روش شما بجای لیست باکس یه Datagrid میزاری و اونو وصل می کنی به چیزی که میخوای لیست بشه و با زدن هر کلید در تکست باکس دیتا گرید رو فیلتر میکنی اینجوری هم سرعت فیلترت بالا میره هم نیازی به پر و خالی کردن لیست باکس نداریم. تازه کد کمتری رو هم می نویسیم. نظرتون چیه؟

  6. #6
    کاربر دائمی آواتار shahmahi
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    مشهد
    پست
    161

    نقل قول: نشون دادن کلمه مشابه در یک TextBox

    در این روش شما بجای لیست باکس یه Datagrid میزاری و اونو وصل می کنی به چیزی که میخوای لیست بشه و با زدن هر کلید در تکست باکس دیتا گرید رو فیلتر میکنی
    میبخشی من متوجه منظورت نمیشم، میشه یک برنامه نمونه بزاری تا کدهاشو نگاه کنم.درضم من منظورم از کلمه مشابه حرف به حرف کلمه بود نه کل کلمه به این هم دقت کنید.

  7. #7

    نقل قول: نشون دادن کلمه مشابه در یک TextBox

    نقل قول نوشته شده توسط shahmahi مشاهده تاپیک
    درضم من منظورم از کلمه مشابه حرف به حرف کلمه بود نه کل کلمه به این هم دقت کنید.
    وقتی بخوای فیلتر کنی اینو هم مد نظر میگیری دیگه مثلا توی فیلتر بجای مساوی از like استفاده می کنی:

    "fieldname like '" & text1.text & "%'"

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •