Dans le code suivant, j'aimerai afficher toutes les lignes identiques.
(Tous les nombres, sauf le "quatre" et le "six" qui sont uniques)
Code : Tout sélectionner
;{- Enumerations / DataSections
;{ Windows
Enumeration
#Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
#ListIcon_1
#Button_1
#ListIcon_2
EndEnumeration
;}
;}
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 451, 230, 536, 400, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
ListIconGadget(#ListIcon_1, 25, 20, 220, 225, "Listicon 1", 100, #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
SendMessage_(GadgetID(#ListIcon_1), #LVM_SETCOLUMNWIDTH, 0, #LVSCW_AUTOSIZE_USEHEADER)
ButtonGadget(#Button_1, 265, 255, 210, 25, "afficher les lignes identiques")
ListIconGadget(#ListIcon_2, 255, 20, 230, 225, "Listicon 2", 100, #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
SendMessage_(GadgetID(#ListIcon_2), #LVM_SETCOLUMNWIDTH, 0, #LVSCW_AUTOSIZE_USEHEADER)
AddGadgetItem(#ListIcon_1,0, "un")
AddGadgetItem(#ListIcon_1,0, "un")
AddGadgetItem(#ListIcon_1,0, "deux")
AddGadgetItem(#ListIcon_1,0, "deux")
AddGadgetItem(#ListIcon_1,0, "quatre")
AddGadgetItem(#ListIcon_1,0, "trois")
AddGadgetItem(#ListIcon_1,0, "un")
AddGadgetItem(#ListIcon_1,0, "trois")
AddGadgetItem(#ListIcon_1,0, "six")
EndIf
EndProcedure
OpenWindow_Window_0()
;{- Event loop
Repeat
Select WaitWindowEvent()
; ///////////////////
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_1
ClearGadgetItems(#ListIcon_2)
For i = 0 To CountGadgetItems(#ListIcon_1)
Nombre$ = GetGadgetItemText(#ListIcon_1,i,0)
If FindString(GetGadgetItemText(#ListIcon_1,i-1,0), Nombre$)
AddGadgetItem(#ListIcon_2, -1, Nombre$)
EndIf
Next
; For i = 0 To CountGadgetItems(#ListIcon_1)-1
; Debug CountGadgetItems(#ListIcon_1)
; If GetGadgetItemText(#ListIcon_1,i,0) = GetGadgetItemText(#ListIcon_1,i-1,0)
; AddGadgetItem(#ListIcon_2, 0, GetGadgetItemText(#ListIcon_1,i,0))
; EndIf
; Next
EndSelect
; ////////////////////////
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
CloseWindow(#Window_0)
Break
EndSelect
EndSelect
ForEver
;
;}
un
un
deux
deux
trois
un
trois
Merci de votre aide.