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

نام تاپیک: با زدن حرف اول اسم کامبو اسم رو کامل بیاره

  1. #1

    با زدن حرف اول اسم کامبو اسم رو کامل بیاره

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

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1384
    پست
    49

    Cool

    سلام

    بیبن دوست عزیز من کامپوننتش را ندارم ولی خودم سه تا تابع نوشتم که اگر در رویدادهای changeو keyPress وlostfocuse بگذاری تو دارای جستجو خواهد شد و هنوز وقت نکردم آن را کامپوننت کنم.
    تابعهایی هم هست که جستجو را از ابتدای سطرهای combobox انجام نمی دهد بلکه در کل رشته آن combobox جستجو می کند
    اگه خواستی بگو تا برات بفرستم .

  3. #3
    یه کامبو بذار رو فرمت بعد این کدو بچسبون تو فرمت
    Option Explicit

    Private Declare Function SendMessage Lib "user32" Alias _
    "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, lParam As Any) As Long

    Private Const CB_FINDSTRING = &H14C
    Private Const CB_ERR = (-1)

    Private Declare Function PostMessage Lib "user32" Alias _
    "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, ByVal lParam As Long) As Long

    Private Const CB_SETCURSEL = &H14E
    Private m_bEditFromCode As Boolean


    Private Sub Form_Load()

    With Combo1
    .AddItem "Iran"
    .AddItem "Pars"
    .AddItem "Maad"
    .AddItem "IranVig"
    .AddItem "Aria"
    End With

    End Sub

    Private Sub Combo1_Change()
    Dim i As Long, j As Long
    Dim strPartial As String, strTotal As String
    If m_bEditFromCode Then
    m_bEditFromCode = False
    Exit Sub
    End If

    With Combo1

    strPartial = .Text
    i = SendMessage(.hwnd, CB_FINDSTRING, -1, ByVal strPartial)

    If i <> CB_ERR Then
    strTotal = .List(i)
    j = Len(strTotal) - Len(strPartial)
    If j <> 0 Then
    m_bEditFromCode = True
    .SelText = Right$(strTotal, j)
    'Select unmatched characters
    .SelStart = Len(strPartial)
    .SelLength = j
    Else
    End If
    End If
    End With

    End Sub

    Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)

    Select Case KeyCode
    Case vbKeyDelete
    m_bEditFromCode = True
    Case vbKeyBack
    m_bEditFromCode = True
    End Select

    End Sub

  4. #4
    کگه خوده کامبو جستجو نمی کنه ؟
    قبلا که این کارو می کرد

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

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    منم فکر میکنم یه راهی جز کد نویسی داره
    یعنی یه Property ای چیزی

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1384
    پست
    49

    Cool

    نه property چیزی نداره ولی اگر کلمه را بنویسی و F4 را فشار دهی combo از اولین جایی که ابتدای آن با ورودی تو یکسان است لیست را باز می کنه ولی اگر به صورت خودکار می خوای نشون بدی فقط باید کد نویسی کنی

  8. #8
    من یه همچین کدی دارم.
    می‌گردم واست پیدا کردم می‌فرستم.
    ولی تو DataCombo نتونستم این کارو بکنم

  9. #9
    کاربر دائمی آواتار meh_secure
    تاریخ عضویت
    دی 1383
    محل زندگی
    California
    پست
    964
    شما دنبال auto compelete هستید. در سایت جستجو کنید و اگر پیدا نشد در سایتهای مشابه (خارجی). این خصوصیت در کامبو باکسهای دات نت اضافه شده اند.

  10. #10
    ممنون میشم اگه این کدا رو واسم بزارین

  11. #11
    کاربر دائمی آواتار Yalda2005
    تاریخ عضویت
    مهر 1384
    محل زندگی
    من شهروند همه ی جهانم
    پست
    205
    روی combo کلیک کن و بنویس :
    ComboBox1.Style:=csDropDownList;
    البته این ماله دلفیه ...
    آخرین ویرایش به وسیله Yalda2005 : جمعه 05 اسفند 1384 در 23:00 عصر

  12. #12
    نه این دستور کمکی نمی کنه
    می تونیم یه کاری بکنیم که بعد از فشرده شدن هر کلید کیبرد روی کامبو کلید f4 فراخوانی بشه؟
    اگه بشه این کار رو کرد احتمالا مشکل حل میشه
    یا اینکه بعد از فشرده شدن هر کلید کیبرد , اوکی رو به بالا فراخوانی بشه
    کسی میدونه چطور باید این کار رو کد؟

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    combo1.setfocus
    sendkeys{F4}

  14. #14
    اصلا نیازی به کد نویسی نیست . یک نمونه کار سر فرصت میزارم

  15. #15

    comboBoc_sample

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

  16. #16
    دوارم مشکلتون حل شده باشه

  17. #17
    ببخشید . امیدوارم !!!

  18. #18
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    ممنون
    ولی شما چون DB استفاده کردی اینجوریه

  19. #19
    مگه شما چکار میکنی

  20. #20
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1384
    پست
    49

    Cool

    بیا این هم تابعهایی که بهت گفتم با یه مثال کامل برات توضیح دادم این دیگه حتما مشکلت را برطرف می کنه اگه خواستی کد برای datacombo هم دارم خواستی بگو و دیگه اینکه تابعها میشه جوری هم تغییر داد که از اول رشته ها جستجو نکنه ودر کل رشته جستجو کنه
    فایل های ضمیمه فایل های ضمیمه

  21. #21
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    اونی که من عرض کردم درسته که شاید راه اصولی ای نباشه
    ولی همه جا کار می کنه
    نه فقط تو db

  22. #22
    سلام خدمت دوستان عزیز
    خانم mahboobeh یک فایل مانیفست کنار برنامه Exe ات قرار بده مشکل جستجوت هم در کامبو باکس و هم در دیتا کمبو خود به خود حل میشود بدون یک خط کد نویسی.
    اگر نشد بگو یک نمونه برنامه در اینجا قرار دهم .

  23. #23
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    فایل مانیفست خوب چیکار میکنه که درست میشه؟
    بعنی مکانیزمش چیه؟
    بعدش اون فایل مانیفست بعضی وقتا تو بعضی سیستم ها error میده

  24. #24
    ببخشید این فایل مانیفست اصلا چیه ؟

  25. #25
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    یه فایل Xml هست که میزارن کنار برنامه و قیافه کنترل ها مثل XP میشه بگردی تو سایت هست

  26. #26

    برنامه

    با سلام خدمت دوستان عزیز
    یک برنامه نمونه گذاشتم .
    همانطور که قبلاً گفته شد یک فایل مانیفست باید هم نام و کنار فایل اجرایی برنامه ما باشد .
    برنامه ای را هم که من آپلود کردن اگر فایل اجرایی را اجرا کنید عمل جستجو را انجام میدهد ولی اگر به محیط طراحی در VB بروید کار نمیکند برای حل این مشکل یک کپی از فایل مانیفستی که در پوشه آپلود شده است را در مسیری که VB را نصب کرده اید و با نام vb6.exe.manifest کپی کنید و از دفعه بعد که VB را باز کنید هم شکل کنترل ها عوض میشود و هم سرچ در کامبو ها درست میشود . در جواب نوشته H_SH_VB عزیز که گفته بود در بعضی سیستم ها Error میدهد اگر از روش صدا زدن یک تابع API که در این برنامه هم هست استفاده کنی دیگر از Error خبری نیست .
    موفق باشید .
    آخرین ویرایش به وسیله Milad Mohseny : دوشنبه 15 اسفند 1384 در 01:26 صبح

  27. #27
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    آقا ممنون
    ولی با این تابع هم باز Error میده یعنی قبلا که با همین امتحان کردم میداد
    شما میدونی حالا چرا من وقتی از کنترل KewlButton استفاده می کنم رو بعضی سیستم ها out of memory میده؟
    مشکل رم و اینا نیست البته ها

  28. #28

    Smile برنامه

    دوست عزیز ببین با اینها مشکلت حل میشه .
    البته لازم به ذکر است که محتویات این پوشه تماماً از این سایت دانلود شده و هیچکدام مال من نیست .
    آخرین ویرایش به وسیله Milad Mohseny : دوشنبه 15 اسفند 1384 در 01:26 صبح

  29. #29
    چرا آدرس سایت غیر فعال است ؟ میشه لطفا برای من هم این کدها رو بفرستید.
    مرسی
    آخرین ویرایش به وسیله adhami : شنبه 27 اسفند 1384 در 15:56 عصر

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

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