Listbox yerine Listview Kullanmak

Programlama dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
darendeli
Byte4
Byte4
Mesajlar: 168
Kayıt: 06 Haz 2016, 16:55

Listbox yerine Listview Kullanmak

Mesaj gönderen darendeli » 28 Mar 2019, 01:02

Listbox cok kullandımda Bu listviewi Fazla kullanmadım coklu listede karısıklık oldugu icin tek listede toplamak istiyorum listviewe aktarması icin nasıl kodlar lazım Mantıgı kavrasam yeterli cunku listviewde kaydedip silme işlemide yapabilirim...

Resim

Kod: Tümünü seç

#AutoIt3Wrapper_Change2CUI=y
#RequireAdmin
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <String.au3>
#include "_UskinLibrary.au3"


Global $Obj_Error = ObjEvent("AutoIt.Error", "_Obj_Error") ;Obj hataları...
Global $hostteam,$hostteam1
Global Const $Separator = Chr(124)
Global Const $Space = Chr(32)
Opt("GUIDataSeparatorChar", $Separator)
_Uskin_LoadDLL()
_Uskin_Init(@ScriptDir&"\MX5.msstyles")

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Darendeli İddaa Analiz ARACI", 785, 554, 308, 137)
$Label3 = GUICtrlCreateLabel("Program Analizi Yaparken Neleri Dikkate Alıyor", 440, 16, 335, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("✔ Takımlar arasındaki tüm maçlar", 440, 56, 275, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label5 = GUICtrlCreateLabel("✔ Ev sahibi takımın son maçları", 440, 96, 275, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label6 = GUICtrlCreateLabel("✔ Konuk takımın son maçları", 440, 136, 275, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label7 = GUICtrlCreateLabel("✔ Ev sahibi takımın avantajı", 440, 176, 275, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label8 = GUICtrlCreateLabel("✔ Şampiyonada takımların puan durumu", 440, 216, 295, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label9 = GUICtrlCreateLabel("✔ Ülke liginin derecesi (farklı takım ülkeleri)", 440, 256, 375, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label10 = GUICtrlCreateLabel("✔ Takımların sıralaması", 440, 296, 275, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)
$Label11 = GUICtrlCreateLabel("✔ Bahisçiler katsayısı (varsa)", 440, 336, 275, 17)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008080)


$Checkbox2 = GUICtrlCreateCheckbox("Herzaman Üstte", 155, 0, 100, 19)
GUICtrlSetState(-1, $GUI_CHECKED)
WinSetOnTop($Form1, "", 1)
$herzamanustte = 0 ;herzaman üstte Secenegi icin Gerekli Bölüm
$List1 = GUICtrlCreateList("", 8, 40, 209, 318 , BitOR($WS_BORDER, $WS_VSCROLL))
GUICtrlSetLimit(-1, 1000)
$List2 = GUICtrlCreateList("", 224, 40, 209, 318, BitOR($WS_BORDER, $WS_VSCROLL))
GUICtrlSetLimit(-1, 1000)
$Label1 = GUICtrlCreateLabel("EVSAHİBİ TAKIMLAR", 32, 16, 110, 17)
$Label2 = GUICtrlCreateLabel("DEPLASMAN TAKIMLARI", 256, 16, 130, 17)
$Button1 = GUICtrlCreateButton("Maçkolik Geniş İDDAA", 626, 368, 149, 41)
$Button2 = GUICtrlCreateButton("Statarea", 8, 368, 149, 41)
$Button3 = GUICtrlCreateButton("Footballplatform", 164, 368, 149, 41)
$Button5 = GUICtrlCreateButton("Clevertips", 320, 368, 149, 41)
$Button4 = GUICtrlCreateButton("IY/MS", 472, 368, 149, 41)
$Button6 = GUICtrlCreateButton("TempoBet", 472, 420, 149, 41)
$Button7 = GUICtrlCreateButton("JojoBet", 626, 420, 149, 41)
$Button8 = GUICtrlCreateButton("TempoBet Twitter", 472, 472, 149, 41)
$Button9 = GUICtrlCreateButton("Bahsine Twitter", 626, 472, 149, 41)
$Input1 = GUICtrlCreateInput("", 12, 424, 209, 21)
$Input2 = GUICtrlCreateInput("", 254, 424, 209, 21)
$Button10 = GUICtrlCreateButton("MAÇI ANALİZ ET", 8, 465, 460, 49)
$StatusBar1 = _GUICtrlStatusBar_Create($Form1)
_GUICtrlStatusBar_SetParts($StatusBar1, "ANALİZ SONUCU..")
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 35)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

_EvsahibiTakimlariListele()
_DeplasmanTakimlariListele()


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $List1
                GUICtrlSetData($Input1, StringTrimLeft(GUICtrlRead($List1),1))
		Case $List2
                GUICtrlSetData($Input2, StringTrimLeft(GUICtrlRead($List2),1))
		Case $Button1
			ShellExecute("http://www.mackolik.com/Genis-Iddaa-Programi")
		Case $Button2
			ShellExecute("http://www.statarea.com/predictions")
		Case $Button3
			ShellExecute("https://footballplatform.com/football-predictions/")
		Case $Button4
			ShellExecute("https://www.forebet.com/en/football-tips-and-predictions-for-today")
		Case $Button5
			ShellExecute("https://www.clevertips.net/")
		Case $Button6
			ShellExecute("https://www.73tempobet.com/")
		Case $Button7
			ShellExecute("https://www.jojobet80.com/tr/sports/")
		Case $Button8
			ShellExecute("https://twitter.com/tempobet")
		Case $Button9
			ShellExecute("https://twitter.com/bahsinecom")


	Case $Checkbox2
			If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
            $herzamanustte = Not $herzamanustte
			 WinSetOnTop( $Form1, '', $herzamanustte )
           Else
           WinSetOnTop( $Form1, '',$herzamanustte)
           EndIf

	EndSwitch
WEnd



Func _EvsahibiTakimlariListele()
	Local $oIE = _IECreate("http://slybet.net/",0,0)
Local $oTags = _IETagNameGetCollection($oIE, "td")
For $oTag In $oTags
     If String ($oTag.GetAttribute("class")) == "column-2" Then
   If not @error then	$hostteam = $oTag.innerTEXT
		 If $hostteam <> '' Then
		ConsoleWrite ($hostteam & @CRLF)
  GUICtrlSetData($List1 ,$hostteam)
		 EndIf

EndIf
Next
_IEQuit($oIE)
EndFunc

Func _DeplasmanTakimlariListele()
	Local $oIE = _IECreate("http://slybet.net/",0,0)
Local $oTags1 = _IETagNameGetCollection($oIE, "td")
For $oTag1 In $oTags1
     If String ($oTag1.GetAttribute("class")) == "column-3" Then
	  If not @error then	$hostteam1 = $oTag1.innerTEXT
	  If GUICtrlRead($hostteam1) <> "" Then
  ConsoleWrite ($hostteam1& @CRLF)
	GUICtrlSetData($List2 ,GUICtrlRead($hostteam1))
 EndIf
If StringLen($hostteam1) = 0 Then $hostteam1 = @CRLF
ConsoleWrite($hostteam1 & @CRLF)
GUICtrlSetData($List2 ,$hostteam1& $Separator)
EndIf
Next
_IEQuit($oIE)
EndFunc




Func _Obj_Error()
	;Obj hatalarında burdaya ek kodlar girebilirsin.
EndFunc   ;==>_Obj_Error

Program Yazmanın En Güzel Yanı Birilerinin Bu Programlardan Faydalandığını Görmektir..



Kullanıcı avatarı
BlueLife
Byte4
Byte4
Mesajlar: 188
Kayıt: 29 Ağu 2014, 20:42

Re: Listbox yerine Listview Kullanmak

Mesaj gönderen BlueLife » 28 Mar 2019, 11:07

@darendeli

Yardım dosyasında GUICtrlCreateListView için çok güzel örnek mevcut. Nerde takıldın anlamadım. Arayüzünü değiştirerek ListView ekleyip aldığın dataları GUICtrlCreateListViewItem ile eklemen kafi. Verdiğin kodlar sistemimde hata veriyor. Kolay gelsin...

darendeli
Byte4
Byte4
Mesajlar: 168
Kayıt: 06 Haz 2016, 16:55

Re: Listbox yerine Listview Kullanmak

Mesaj gönderen darendeli » 30 Mar 2019, 01:48

ekliyorumda yan yana ge ekletemiyorum hep 1. sıraya ekliyor baya denedim hata veriyor
1. sıranın yanına ekleyecem mesela
_GUICtrlListView_AddSubItem ile ama olmadı

örnek 1. veri 2.veri sonuc seklinde yapamadım o sıralayı nasıl ekletecegim...
Program Yazmanın En Güzel Yanı Birilerinin Bu Programlardan Faydalandığını Görmektir..

Kullanıcı avatarı
BlueLife
Byte4
Byte4
Mesajlar: 188
Kayıt: 29 Ağu 2014, 20:42

Re: Listbox yerine Listview Kullanmak

Mesaj gönderen BlueLife » 30 Mar 2019, 11:21

@darendeli

Örneğin benim sistemimde hata verdiği için örneğinde düzeltme yapmadım. Eski bir autoit sürümü kullanıyorum ayrıca. Bazı udf ler sorun çıkartıyor. Konuya gelirsek aşağıdaki gibi bir örnek verebilirim. Inceleyip kendine göre ayarlarsın. Kolay gelsin.

Kod: Tümünü seç

Global Const $Separator = Chr(124)
Global $listview, $LV_ITEMS, $LV_ROW ;Tanımlamalar önemli

Local $GHWND = GUICreate("listview items", 420, 320)
$listview = GUICtrlCreateListView("col1  |col2|col3  ", 10, 10, 400, 300)
GUISetState(@SW_SHOW)

_VERLER_1()
MsgBox(64, "", "Itemleri oluşturduk. Şimdi sub itemlere verileri sırasıyla atayalım.", 0, $GHWND)
_VERLER_2()

While 1
	Switch GUIGetMsg()
		Case -3
			Exit
	EndSwitch
WEnd



Func _VERLER_1()
	; Alınan Verilere ait kodları
	Local $ALINAN_VERI
	For $I = 1 To 10
		$ALINAN_VERI = Random(1, 99, 1)





		_GUI_Ctrl_Create_ListViewItem($ALINAN_VERI) ;Ilk önce Itemleri oluşturursun, bu satır haricindekinler sadece örnek.
	Next
EndFunc   ;==>_VERLER_1


Func _VERLER_2()
	; Alınan Verilere ait kodları
	Local $ALINAN_VERI
	For $I = 1 To 10
		$ALINAN_VERI = Random(1, 99, 1)




		_GUI_Ctrl_SetData_ListViewItem($ALINAN_VERI) ;Daha sonra sırasıyla ilgili sub itemlere verileri girersin. bu satır haricindekinler sadece örnek.
	Next
EndFunc   ;==>_VERLER_2

;Aşağıdaki fonksiyonları kullan istersen.
Func _GUI_Ctrl_Create_ListViewItem($String)
	$LV_ITEMS &= GUICtrlCreateListViewItem($String, $listview) & $Separator
EndFunc   ;==>_GUI_Ctrl_Create_ListViewItem

Func _GUI_Ctrl_SetData_ListViewItem($String, $Column = 2)
	If IsArray($LV_ITEMS) = 0 Then
		If StringRight($LV_ITEMS, 1) = $Separator Then $LV_ITEMS = StringTrimRight($LV_ITEMS, 1)
		$LV_ITEMS = StringSplit($LV_ITEMS, $Separator, 1)
		$LV_ROW = 1
	Else
		$LV_ROW = $LV_ROW + 1
		If $LV_ROW > $LV_ITEMS[0] Then Return 0
	EndIf
	For $I = 2 To $Column
		$String = $Separator & $String
	Next
	GUICtrlSetData($LV_ITEMS[$LV_ROW], $String)
EndFunc   ;==>_GUI_Ctrl_SetData_ListViewItem

anxious
Byte2
Byte2
Mesajlar: 98
Kayıt: 11 Mar 2015, 07:56

Re: Listbox yerine Listview Kullanmak

Mesaj gönderen anxious » 31 Mar 2019, 00:52

@darandeli
Gerçekten çok çabalıyorsun tebrik ediyorum,çok samimiyim senin adına çok seviniyorum.
Beni yanlış anlama,Bir tavsiye vereyim.
kodlarını paylaşırken _UskinLibrary gibi tema veya sorduğun soru ile alakalı olmayan udfleri çıkarıp buraya ekle veya herhangi bir foruma fark etmez,daha iyi olur,daha hızlı sonuç alırsın,sana yardımcı olacak kişi nekadar tecrübeli olsa da o karmaşayla uğraşmaz,şiddetle tavsiye ederim ;)

darendeli
Byte4
Byte4
Mesajlar: 168
Kayıt: 06 Haz 2016, 16:55

Re: Listbox yerine Listview Kullanmak

Mesaj gönderen darendeli » 31 Mar 2019, 01:02

@anxious Tesekkürler Yorumun Ve Tavsiyelerin icin Kendimce Bisiler Yapmaya Calısıyorum iste Sizde Bisiler Yapıyorsunuz Autoitle Ama Pek Fazla Zamanınız Olmuyor Galiba Arada...Gerci Bende Aksamları Bakabiliyorum Denk Gelirsem Aslında Bu yapmak istedigim cok Fazla Siteden Analizleri Ceken Bir Program Maçların analizlerini 10 tane Farklı siteden verileri aldım listelere Aktardım ama sıra kaydırma isi bozuyor ve ugrastırıyor...Hala Yapamadım Kodlar KArmasık oldugu icin :D Bakacaz.. arastırıyorum hala...
Resim
Program Yazmanın En Güzel Yanı Birilerinin Bu Programlardan Faydalandığını Görmektir..

Cevapla