limiter la recherche entre la 2ème et 3ème colonne

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

limiter la recherche entre la 2ème et 3ème colonne

Message par SpaceMan »

slt à tous c'est encore moi ceci est un bout de code que je voudrais utiliser mais j'ai un problème:
je veux limiter la recherche entre la 2ème et 3ème colonne et j'y arrive pas
please help me
thank !

Code : Tout sélectionner

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1032&highlight=
; Author: FloHimself
; Date: 16. May 2003

#Window_0 = 0 
#Gadget_0 = 0 
#Gadget_1 = 1 
#Gadget_2 = 2 

Procedure FindStringLIG(searchString.s) 

  SendMessage_(GadgetID(#Gadget_0), #LVM_FIRST + $54, $8, 1) 

  fItem.LV_FINDINFO 
  fItem\flags   = #LVFI_STRING
  fItem\psz     = @searchString 

  itemNumber = SendMessage_(GadgetID(#Gadget_0), #LVM_FINDITEM, -1, fItem) ; find Item 
  
  If itemNumber > -1 
    Goto SCROLL_AND_SELECT 
  Else 
    For a = 0 To CountGadgetItems(#Gadget_0) -1  
      If searchString = GetGadgetItemText(#Gadget_0, a, 1) 
        itemNumber = a
        Goto SCROLL_AND_SELECT 
      EndIf 
    Next 
  EndIf 
  
  Goto PROC_ERROR 

  SCROLL_AND_SELECT: 
    pItem.POINT 

    SendMessage_(GadgetID(#Gadget_0), #LVM_GETITEMPOSITION, itemNumber , pItem) ; get item position 
    SendMessage_(GadgetID(#Gadget_0), #LVM_SCROLL, pItem\x, pItem\y - 150)     ; scroll to item position 

    sItem.LV_ITEM 
    sItem\mask      = #LVIF_STATE 
    sItem\state     = #LVIS_SELECTED 
    sItem\stateMask = #LVIS_SELECTED 

    SendMessage_(GadgetID(#Gadget_0), #LVM_SETITEMSTATE, itemNumber , sItem)    ; set item state as selected      
    Goto PROC_END 
  
  PROC_ERROR: 
    MessageRequester("Recherche", "L'élément '" + searchString + "' ne figure pas dans la liste ", #MB_ICONEXCLAMATION | #MB_OK)  
  
  PROC_END: 
EndProcedure 

Procedure Open_Window_0() 
  If OpenWindow(#Window_0, 283, 124, 325, 314,  "Recherche dans la ListViewGadget", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar) 
    If CreateGadgetList(WindowID(#Window_0)) 
      ListIconGadget(#Gadget_0, 0, 0, 325, 270, "Numero", 100, #PB_ListIcon_AlwaysShowSelection |#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect) 
        AddGadgetColumn(#Gadget_0, 1, "Exo", 100) 
         AddGadgetColumn(#Gadget_0, 2, "Résultat", 100)
        For a = 0 To 200 
AddGadgetItem(#Gadget_0, -1 ,Str(a) + Chr(10) + "Exo" + Str(a)+Chr(10)+ "Vrai"+ Str(a)) 
        Next 
        
      ButtonGadget(#Gadget_1, 160, 280, 140, 20, "Chercher") 
      StringGadget(#Gadget_2, 10, 280, 140, 20, "") 
    EndIf 
  EndIf 
EndProcedure 

Open_Window_0() 

Repeat 
 ;fermeture de la fenetre principale avec la croix de la fenetre 
Select WaitWindowEvent()
   Case #PB_Event_CloseWindow 
   Sortie = 1
Case #PB_Event_Gadget 
   Select EventGadget() 
      Case #Gadget_1 
        FindStringLIG(GetGadgetText(#Gadget_2)) 
EndSelect
  EndSelect 
  
Until Sortie = 1
End
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Voilà :

Code : Tout sélectionner

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1032&highlight=
; Author: FloHimself
; Date: 16. May 2003

#Window_0 = 0
#Gadget_0 = 0
#Gadget_1 = 1
#Gadget_2 = 2

Procedure FindStringLIG(searchString.s)

  
  For a = 0 To CountGadgetItems(#Gadget_0) -1 
    If searchString = GetGadgetItemText(#Gadget_0, a, 1)
      itemNumber = a
      Goto SCROLL_AND_SELECT
    EndIf
  Next
  For a = 0 To CountGadgetItems(#Gadget_0) -1 
    If searchString = GetGadgetItemText(#Gadget_0, a, 2)
      itemNumber = a
      Goto SCROLL_AND_SELECT
    EndIf
  Next
  
  
  Goto PROC_ERROR
  
  SCROLL_AND_SELECT:
  pItem.POINT
  
  SendMessage_(GadgetID(#Gadget_0), #LVM_GETITEMPOSITION, itemNumber , pItem) ; get item position
  SendMessage_(GadgetID(#Gadget_0), #LVM_SCROLL, pItem\X, pItem\Y - 150)     ; scroll to item position
  
  sItem.LV_ITEM
  sItem\mask      = #LVIF_STATE
  sItem\state     = #LVIS_SELECTED
  sItem\stateMask = #LVIS_SELECTED
  
  SendMessage_(GadgetID(#Gadget_0), #LVM_SETITEMSTATE, itemNumber , sItem)    ; set item state as selected     
  Goto PROC_END
  
  PROC_ERROR:
  MessageRequester("Recherche", "L'élément '" + searchString + "' ne figure pas dans la liste ", #MB_ICONEXCLAMATION | #MB_OK) 
  
  PROC_END:
EndProcedure

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 283, 124, 325, 314,  "Recherche dans la ListViewGadget", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
      ListIconGadget(#Gadget_0, 0, 0, 325, 270, "Numero", 100, #PB_ListIcon_AlwaysShowSelection |#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
      AddGadgetColumn(#Gadget_0, 1, "Exo", 100)
      AddGadgetColumn(#Gadget_0, 2, "Résultat", 100)
      For a = 0 To 200
        AddGadgetItem(#Gadget_0, -1 ,Str(a) + Chr(10) + "Exo" + Str(a)+Chr(10)+ "Vrai"+ Str(a))
      Next
      
      ButtonGadget(#Gadget_1, 160, 280, 140, 20, "Chercher")
      StringGadget(#Gadget_2, 10, 280, 140, 20, "")
    EndIf
  EndIf
EndProcedure

Open_Window_0()

Repeat
  ;fermeture de la fenetre principale avec la croix de la fenetre
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Sortie = 1
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Gadget_1
          FindStringLIG(GetGadgetText(#Gadget_2))
      EndSelect
  EndSelect
  
Until Sortie = 1
End 
Denis

Bonne Jounée à tous
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

thanks

Message par SpaceMan »

Merci à toi Denis ben c'est toujours toi qui me sauve :)
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: thanks

Message par SPH »

SpaceMan a écrit :Merci à toi Denis ben c'est toujours toi qui me sauve :)
Moi, j'aide d'autant plus facilement quand on m'explique concretement le probleme. Hors, je lis dans ton premier post :
slt à tous c'est encore moi ceci est un bout de code que je voudrais utiliser mais j'ai un problème:
je veux limiter la recherche entre la 2ème et 3ème colonne et j'y arrive pas
please help me
thank !
Je n'y vois AUCUNE explication !

Je ne dis pas ca mechament... :wink:
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Pourtant pas compliqué ce que je voulais dire

Message par SpaceMan »

salut SPH

il aurait falu juste exécuter le code pour comprendre ma requete
je veux limiter la recherche entre la 2ème et 3ème colonne et j'y arrive pas
en fait je sais que je vais avoir besoin de tout le monde et pourquoi pas toi en particulier... :lol:
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Ok je regarde ca :lol:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre