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

نام تاپیک: جستجو در لیست باکس

  1. #1
    کاربر دائمی آواتار vahid_d_0101
    تاریخ عضویت
    آبان 1386
    محل زندگی
    شرکت هیولاها
    سن
    24
    پست
    669
    تشکر کردن
    178
    384 بار تشکر شده در 128 پست

    جستجو در لیست باکس

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

  2. #2
    کاربر دائمی آواتار _behnam_
    تاریخ عضویت
    مهر 1389
    محل زندگی
    بوشهر
    سن
    24
    پست
    835
    تشکر کردن
    111
    526 بار تشکر شده در 361 پست

    نقل قول: جستجو در لیست باکس

    باید با حلقه آیتم هارو سرچ کنید
    Dim Y, Z As Integer
    Z = List1.ListCount
    For Y = 0 To List1.ListCount - 1
    Z = Z - 1
    If InStr(1, List1.List(Z), "امام") = 0 Then List1.RemoveItem Z
    Next Y

  3. کاربرانی که به خاطر مطلب مفید _behnam_ از وی تشکر کرده‌اند:


  4. #3
    مدیر بخش آواتار محسن واژدی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    بوشهر
    پست
    3,100
    تشکر کردن
    468
    2,359 بار تشکر شده در 1,681 پست

    نقل قول: جستجو در لیست باکس

    سلام
    بهتر است ابتدا لیست آیتم ها را در آرایه نوشته سپس با یک حلقه در آرایه بدنبال رشته مورد نظر بگردین که در صورت یافتن کلمه، آنرا در لیست اضافه کنه
    البته لازم به ذکره که هرچقدر تعداد آیتم ها بیشتر باشد حلقه نیز بیشتر طول خواهد کشید و ممکن است از بهینه بودن برنامه بکاهد، یه پیشنهاد برایتان دارم و آن هم این است که یا دستور جستجو را بجای نوشتن در رویداد change شی textbox در یک دکمه نوشته تا کاربر با نوشتن کلمه مورد نظر بر روی آن کلیک کند و جستجو آغاز شود (یعنی جستجوی دستی بجای خودکار) و یا آنرا در یک تایمر گذاشته که با یک فاصله زمانی معین (مثلا هر 200ms) چک کنه که آیا متن موجود در textbox تغییری کرده است یا خیر و در صورت تغییر کردن متن موجود یکبار جستجو انجام دهد و مجددا منتظر تغییر جدید در جعبه متن بماند که این میتواند بطور موثری مانع از اجرای غیرضروری حلقه و کندی برنامه شود
    و هم میتواند بهینه تر از پیشنهاد اول باشد
    بهرحال نمونه زیر را براساس روش دوم براتون نوشتم

    موفق باشید
    یاعلی
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله محسن واژدی : چهارشنبه 25 اسفند 1389 در 16:16 بعد از ظهر

  5. 5 کاربر از محسن واژدی به خاطر این مطلب مفید تشکر کرده اند:


  6. #4
    کاربر دائمی آواتار vahid_d_0101
    تاریخ عضویت
    آبان 1386
    محل زندگی
    شرکت هیولاها
    سن
    24
    پست
    669
    تشکر کردن
    178
    384 بار تشکر شده در 128 پست

    نقل قول: جستجو در لیست باکس

    نقل قول نوشته شده توسط mohsenvj مشاهده تاپیک
    سلام
    بهتر است ابتدا لیست آیتم ها را در آرایه نوشته سپس با یک حلقه در آرایه بدنبال رشته مورد نظر بگردین که در صورت یافتن کلمه، آنرا در لیست اضافه کنه
    البته لازم به ذکره که هرچقدر تعداد آیتم ها بیشتر باشد حلقه نیز بیشتر طول خواهد کشید و ممکن است از بهینه بودن برنامه بکاهد، یه پیشنهاد برایتان دارم و آن هم این است که یا دستور جستجو را بجای نوشتن در رویداد change شی textbox در یک دکمه نوشته تا کاربر با نوشتن کلمه مورد نظر بر روی آن کلیک کند و جستجو آغاز شود (یعنی جستجوی دستی بجای خودکار) و یا آنرا در یک تایمر گذاشته که با یک فاصله زمانی معین (مثلا هر 200ms) چک کنه که آیا متن موجود در textbox تغییری کرده است یا خیر و در صورت تغییر کردن متن موجود یکبار جستجو انجام دهد و مجددا منتظر تغییر جدید در جعبه متن بماند که این میتواند بطور موثری مانع از اجرای غیرضروری حلقه و کندی برنامه شود
    و هم میتواند بهینه تر از پیشنهاد اول باشد
    بهرحال نمونه زیر را براساس روش دوم براتون نوشتم

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

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

  7. #5
    مدیر بخش آواتار محسن واژدی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    بوشهر
    پست
    3,100
    تشکر کردن
    468
    2,359 بار تشکر شده در 1,681 پست

    نقل قول: جستجو در لیست باکس

    سلام علیکم

    خیلی عالی بود فقط مشکلی که داره اخر لیست یه دونه ایتم خالی میاره هر کاریش کردم نتونستم پاکش کنم
    مشکلش رو برطرف کردم و مجددا" گذاشتمش داخلش پست قبلی (3#)

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

    موفق باشید

  8. #6
    کاربر دائمی آواتار vahid_d_0101
    تاریخ عضویت
    آبان 1386
    محل زندگی
    شرکت هیولاها
    سن
    24
    پست
    669
    تشکر کردن
    178
    384 بار تشکر شده در 128 پست

    نقل قول: جستجو در لیست باکس

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

  9. #7
    مدیر بخش آواتار محسن واژدی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    بوشهر
    پست
    3,100
    تشکر کردن
    468
    2,359 بار تشکر شده در 1,681 پست

    نقل قول: جستجو در لیست باکس

    درسته
    نمونه ای که بنده گذاشته ام از یک آرایه ثابت استفاده میکنه اما شما میتوانید مقدار ثابت اونو (فکر کنم 15 بود) را حذف کرده سپس در زمان اجرا از دستور Redim طول اونو تعیین کنین به عبارتی طولش رو پویا کنین
    در این صورت میتوانید یک فایل که حاوی لغات مورد نظر را هر تعداد که باشید در آرایه قرار دهید

    نمونه زیر رو ببینین
    Dim myData$()
    Private Sub Form_Load()
    ReDim myData$(10)
    End Sub



    مشکلی بود در خدمتیم
    موفق باشید

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

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

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