Page 1 sur 1

Bheen encore un petit probleme...

Publié : mar. 27/juil./2004 23:52
par jblaise.cs
Bijour
Voila soit mon cpu se fait vieux, soit j utilise la methode compliquer :lol:
Vous voyez quand vous tappez une adresse dans la barre d adresse de Internet explorer bha ya une petite liste qui aparait avec les choix qui commence par le texte que vous avez commencez, c est un truc comme ca que je voudrais ariver a faire :)

Code : Tout sélectionner

If OpenWindow(1, 281, 85, 270, 235,  #PB_Window_SystemMenu | #PB_Window_TitleBar , "HL VOX Researsher")
 If CreateGadgetList(WindowID())
  StringGadget(1, 5, 5, 260, 20, "")
  ListViewGadget(2, 5, 25, 260, 205)
 EndIf
EndIf

Procedure FilterListViewGadget(Gadget, texttofilter$)
  Repeat
    If GetGadgetItemText(Gadget, x, 0) = ""
      Fini=1
    EndIf
    If Mid(GetGadgetItemText(Gadget, x, 0), 1, len) <> texttofilter$
      RemoveGadgetItem(Gadget, x)
    EndIf
  Until Fini=1
EndProcedure

AddGadgetItem(2, -1, "a")
AddGadgetItem(2, -1, "accelerating")
AddGadgetItem(2, -1, "accelerator")
AddGadgetItem(2, -1, "accepted")
AddGadgetItem(2, -1, "access")
AddGadgetItem(2, -1, "acknowledge")
AddGadgetItem(2, -1, "acknowledged")
AddGadgetItem(2, -1, "acquired")
AddGadgetItem(2, -1, "acquisition")
AddGadgetItem(2, -1, "across")
AddGadgetItem(2, -1, "activate")
AddGadgetItem(2, -1, "activated")
AddGadgetItem(2, -1, "activity")
AddGadgetItem(2, -1, "adios")
AddGadgetItem(2, -1, "administration")
AddGadgetItem(2, -1, "advanced")


  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_EventGadget
      Select EventGadgetID()
        Case 1
          FilterListViewGadget(2, GetGadgetText(1))
      EndSelect
    EndIf
  Until EventID = #PB_EventCloseWindow
Voila le code du cauchemard de mon cpu :lol: avec ca il est a 100% pendant 15 min(jusqua ce que sa menerve :P)
Donc jvoulais avoir si c etais mon code, pb, ou mon cpu qui a un probleme
Merci
a+
Jb

Publié : mer. 28/juil./2004 1:11
par filperj
Tu as oublié de faire varier x, du coup ça teste toujours la même ligne et on ne sort jamais de la boucle!
De plus la variable len ne correspond à rien :?:
Voilà mon petit grain de sel, ça a l'air de mieux marcher:

Code : Tout sélectionner


Procedure FilterListViewGadget(Gadget, texttofilter$)
  len=Len(texttofilter$)
  Repeat
    If GetGadgetItemText(Gadget, x, 0) = ""
      Fini=1
    EndIf
    If Mid(GetGadgetItemText(Gadget, x, 0), 1, len) <> texttofilter$
      RemoveGadgetItem(Gadget, x);ceci décale toutes les lignes suivantes,
                                 ;donc pas besoin d'incrémenter x
     Else
      x+1                        ;on passe à la ligne suivante
    EndIf
  Until Fini=1
EndProcedure

C'était plutôt des erreurs de distraction, on dirait :wink:

Publié : jeu. 29/juil./2004 0:15
par jblaise.cs
:lol: :lol: c est par ce que j avais commencer en essayant avec un FOR et j ai oublier de rectifier cette partie :lol:
Merci :)