Jump to content

Combobox Ta Yazdıklarımı Listeleme


mustafakara
 Share

Recommended Posts

sevgili arkadaşlar comboboxta yazılanı listelemesini istiyorum bunun için ne yapmalıyım daha önce bir arkadaşın yaptığı örnek vardı
ancak bu yanlızca kelime başından itibaren listeliyor benim istediğim sadece kelime başından itibaren değil boşluktan sonra yazdıklarımı içerenleride
listelemesini istiyorum
örneğin liste içersinde şu isimler var
"mustafa kara" "hamit kara" "kara yolları" "murat ak"
ben "kara" yazdığımda kara yolları mustafa kara hamit kara gibi isimleri listelemesini istiyorum.
bunu yanlızca combo içersine yapabilirsek daha iyi olur çünkü
ben ismi yazdıktan sonra birde tab tuşu ile listeye gitmem gerekiyor aynı google gibi birşey istiyorum tabi mümkünse
şimdidem teşekkür ederim.

arkadaşın yaptığı örnek:

#include <GUIListBox.au3>
#include <GuiConstantsEx.au3>


Global $FILE_LIST = @ScriptDir & "\Config.ini"

_Main()
Func _Main()
Local $hCombo,$mylist,$SET_DATA,$BL_Value,$BL_Value1 = "?"

GUICreate("YAZILANI LİSTELE", 400, 296)
$hCombo = GUICtrlCreateCombo("", 0, 3, 400, 24)

$mylist = GUICtrlCreateList("", 0, 24, 400, 97)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
$BL_Value = GUICtrlRead($hCombo)
If $BL_Value <> $BL_Value1 Then
GUICtrlSetData($mylist,"")
$var2 = IniReadSectionNames($FILE_LIST)
For $I = 1 To $var2[0]
If StringLeft($var2[$I],StringLen($BL_Value)) = $BL_Value Then GUICtrlSetData($mylist,$var2[$I])
Next
$BL_Value1 = $BL_Value
_GUICtrlListBox_SetCurSel($mylist, 0)
EndIf

WEnd
GUIDelete()
EndFunc ;==>_Main
Link to comment
Share on other sites

Valla kardeş ne dedin, ne yapmak istiyorsun tam anlamadım. Şöyle bir şey karaladım ama.

#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiListBox.au3>




#include <GuiListView.au3>


$Debug_CB = False ; Check ClassName being passed to ComboBox/ComboBoxEx functions, set to True and use a handle to another control to see it work

Global $hCombo

_Main()

Func _Main()
	Local $hGUI

	; Create GUI
	$hGUI = GUICreate("(UDF) ComboBox Create", 400, 296)
	$hCombo = _GUICtrlComboBox_Create($hGUI, "", 2, 2, 396, 296)
	Global $list = GUICtrlCreateList("", 2, 25, 296, 240)
	Global $Items = "mustafa kara|hamit kara|kara yolları|murat ak", $Items_S = StringSplit($Items, "|")

	GUICtrlSetData(-1, $Items)
	Global $check = GUICtrlCreateCheckbox("gelişmiş arama", 2, 270, 200, 21)
	GUISetState()



	GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

	; Loop until user exits
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE
	GUIDelete()
EndFunc   ;==>_Main

Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
	#forceref $hWnd, $iMsg
	Local $hWndFrom, $iIDFrom, $iCode
	$hWndFrom = $ilParam
	$iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
	$iCode = BitShift($iwParam, 16) ; Hi Word
	Switch $hWndFrom
		Case $hCombo
			Switch $iCode

				Case $CBN_EDITCHANGE ; Sent when the edit control portion of a combo box is about to display altered text
					Local $text = _GUICtrlComboBox_GetEditText($hCombo)
					If BitAND(GUICtrlRead($check), $GUI_CHECKED) = 0 Then Return _GUICtrlListBox_SelectString($list, $text)
					_GUICtrlListBox_FindInText($list, $text)

					Local $count = _GUICtrlListBox_GetCount($list)
					If $text = "" Then

						For $i = 1 To $Items_S[0]

							_GUICtrlListBox_AddString($list, $Items_S[$i])

						Next
					Else

						For $i = 1 To $Items_S[0]
							If StringInStr($Items_S[$i], $text) Then
								_GUICtrlListBox_ResetContent($list)
								_GUICtrlListBox_AddString($list, $Items_S[$i])
								Return
							EndIf
						Next
					EndIf


			EndSwitch
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

Link to comment
Share on other sites

sevgili asmazh
öncelikle teşekkür ederim tatil nedeniyle bakamamıştım ancak şimdi bakabildim kususuruma bakma lütfen
ben bir telefon rehberi programı yapıyorum hatta daha önce yaptım
onun birazdaha farklısını yapmaya çalışıyorum
daha öncekinde isim arama bölümünü combobox u AutoComplete olarak yaptım
ancak bunda benim yazdıklarıma yakın olanları tamamlıyordu ben şunu istiyorum hatta bu yanlızca combobox ta oluyorsa
daha iyi afyonkarahisar bazında düşünürsek bana bir devlet hastahanesi lazım ben devlethastahanesi yazdığımda "emirdağ devlet hastahanesi" "dinar devlet hastahanesi" merkezi yanlızca devlet hastahanesi olarak kaydetmişim onuda devlet hastanesi olarak listelemesini istiyorum
yanidevlet hastanesi yazdığımda bulunan liste şu şekilde olmalı "devlet hastahanesi" "emirdağ devlet hastanesi" "dinar devlet hastahanesi"
yukarıda google.com daki gibi birşey olabilir demiştim bunun sebebi ben görme engelli olduğum için orada yazdığımda yazdığıma yakın olanlar liste halinde çıkıyor ben ok tuşlarıyla
dolaşabiliyorum
şimdi sizin yaptığınız ve benim verdiğim örnekte yazdığımı bitirdikten sonra tab tuşuna basarak listeye ulaşıyorum dahasonra ok tuşlarıyla dolaşıyorum
umarım anlatabilmişimdir

Link to comment
Share on other sites

Veri tabanı programcılığı gerektiriyor yapmak istediklerin. Veri tabanını şekillendirirken (tablo, hücre vs...) yukarıda bahsettiğin kriterleri göz önünde bulundurman lazım. Eğer sağlam bir veri tabanı algoritması geliştirirsen belirlediğin standartlardaki bilgileri çekmen de kolay olur. Sadece AutoIt bilgisi yetmez bunun için... (Tabi eğer çok gelişmiş bir şey yapmak istiyorsan.)

 

Ayrıca benim üstte verdiğim örneği yapmak istediklerine göre düzenlersen iyi sonuçlar elde edebilirsin.

Edited by asmazh
Link to comment
Share on other sites

sevgili asmazh
kolay gelsin bizim input yada combo lara yazdığımız yazılar soldan başlayarak yazdıklarımızı listede tutup diğerlerini
listeden eliyor benim söylemek istediğim ise ilk etapta soldan başlayarak yazdıklarımı içerenleri bulduktan sonra
daha sonrada boşluktan sonra yazdıklarımı içerenleri eklemesini istiyorum kara yazdığımda ilk etapta karayla başlayanları daha sonrada misal mustafa karayı eklemesi gibi
yinede teşekkürler
kolay gelsin

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...