ExplorerListGadget, j'ai loupé un épisode ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

ExplorerListGadget, j'ai loupé un épisode ?

Message par gansta93 »

Bonjour,

Dans ce code, j'ai plain de collones indésirables qui sont là, comment cela se fait-il ?

Code : Tout sélectionner

If OpenWindow(0,0,0,608,608,#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_TitleBar,"Explorer MP3") = 0 Or CreateGadgetList(WindowID()) = 0
  End
EndIf
ExplorerListGadget(0,4,4,600,600,"E:\*.mp3;*.wav;*.m3U;*.pls",#PB_Explorer_GridLines|#PB_Explorer_HeaderDragDrop|#PB_Explorer_NoDriveRequester|#PB_Explorer_NoMyDocuments|#PB_Explorer_AlwaysShowSelection)
ChangeListIconGadgetDisplay(0,3)
AddGadgetColumn(0,0,#PB_Explorer_Name,200)
AddGadgetColumn(0,1,#PB_Explorer_Type,200)
AddGadgetColumn(0,2,#PB_Explorer_Size,200)
For n=3 To 5
  RemoveGadgetColumn(0,n)
  Next
ActivateGadget(0)
WaitUntilWindowIsClosed()
End
J'ai fais une boucle pour effacer ce que je peux, mais... ça change rien, reste des collones et si je mais 6 au lieux de cinq, ça plante.
Quelqu'un a-t-il une solution pour moi ?

Merci d'avance.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Re: ExplorerListGadget, j'ai loupé un épisode ?

Message par gansta93 »

Bon allé... quatres personnes l'ont vue... personne ne comprand ? C qd mm pas un bug !
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

j'ai voulu tester ton code
mais pB me marque une erreur au niveau de la commande:
WaitUntilWindowIsClosed()
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Cette fonction vient de la lib droopy.

Code : Tout sélectionner

Repeat:Until WaitWindowEvent()=#PB_EventCloseWindow
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

L'explorerListGadget a 4 colonnes

Le nom du fichier, sa taille, le type de document et la date de la dernière modif du fichier

Ces 4 colonnes seront remplies automatiquement

Tu peux ajouter des colonnes mais je pense qu'il faut les ajouter après celles qui existent et pas avant comme tu veux le faire, surtout pour ajouter des colonnes qui existent déjà :0:
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Apparement on peut ajouter des colonnes ou on veut

Je pense qu'il faut retirer les colonnes avant d'en recréer d'autres.

Tu veux faire quoi au juste ?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Bon,

je viens de comprendre ce qui fait planter
tu as une boucle pour supprimer les colonnes
tu supprimes la colonne indice 3 donc la 4eme

une fois supprimée, les 3 dernières colonnes ont l'indice 3, 4 et 5 mais dans ta boucle tu passe à l'indice 4, donc une colonne ne sera pas effacée

Le mieux c'est d'effacer en partant de la fin car toutes les colonnes à supprimer sont en dernier

C'est exactement le même raisonnement pour effacer plusieurs éléments dans la liste, chaque fois que tu effaces un élément la liste réajuste ses indices et c'est pour cela qu'une boucle d'effacement de plusiuers éléments d'un liste doit commencer par effacer en partant de la fin (c'est plus simple)

voici ton code mais pas en partant de la fin

j'ai juste changé ça

For n=3 To 5
RemoveGadgetColumn(0,3) ; ici
Next

Code : Tout sélectionner

If OpenWindow(0,0,0,608,608,#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_TitleBar,"Explorer MP3") = 0 Or CreateGadgetList(WindowID()) = 0
  End
EndIf
ExplorerListGadget(0,4,4,600,600,"E:\*.mp3;*.wav;*.m3U;*.pls",#PB_Explorer_GridLines|#PB_Explorer_HeaderDragDrop|#PB_Explorer_NoDriveRequester|#PB_Explorer_NoMyDocuments|#PB_Explorer_AlwaysShowSelection)
ChangeListIconGadgetDisplay(0,3)
AddGadgetColumn(0,0,#PB_Explorer_Name,200)
AddGadgetColumn(0,1,#PB_Explorer_Type,200)
AddGadgetColumn(0,2,#PB_Explorer_Size,200)
For n=3 To 5
  RemoveGadgetColumn(0,3)
Next


ActivateGadget(0)
    Repeat
    Until WaitWindowEvent() = #PB_EventCloseWindow

End
Dernière modification par Anonyme2 le mar. 19/juil./2005 4:47, modifié 1 fois.
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Oui ou tu supprime les colonnes pour ensuite les ajouter

Code : Tout sélectionner

OpenWindow(0,0,0,608,608,#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_TitleBar,"Explorer MP3")
CreateGadgetList(WindowID())
  
ExplorerListGadget(0,4,4,600,600,"c:\windows\*.txt;*.exe;*.m3U;*.pls",#PB_Explorer_GridLines|#PB_Explorer_HeaderDragDrop|#PB_Explorer_NoDriveRequester|#PB_Explorer_NoMyDocuments|#PB_Explorer_AlwaysShowSelection) 
ChangeListIconGadgetDisplay(0,3) 

For n=1 To 4 
  RemoveGadgetColumn(0,0) 
Next 

AddGadgetColumn(0,0,#PB_Explorer_Name,200) 
AddGadgetColumn(0,1,#PB_Explorer_Type,200) 
AddGadgetColumn(0,2,#PB_Explorer_Size,200) 

ActivateGadget(0) 
WaitUntilWindowIsClosed()
L'erreur que j'ai trouvé dans ton code Gangsta93 est dans la boucle for/next qui supprime les colonnes, quand tu supprime la colone 2, tout est décalé, donc tu peux continuer à supprimer la colone 2 ( ex colone 3 )
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Merci les gars pour votre aide, maintenant ça marche. :-D
Mais ce que je ne comprand pas, c que qd je mettais pas le débogueur, ça faisait juste planter une fois. Mais une fois que je le mettais, là, j'avais un écran qui me bloquait tout, et quand j'arrivais à le fermer, le programme qui plantait indéfiniment même quand je cliquais sur fermer (windows 98 SE). Avez-vous utilisé le débogueur pour trouver cette erreur ? Si oui, lequel ?

Encore merci pour votre aide et vos solutions. :-D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

gansta93 a écrit :Avez-vous utilisé le débogueur pour trouver cette erreur ? Si oui, lequel ?
Non, le debugger donnait une erreur fatale je crois
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Erreur très fatale, j'ai due rebooter (en faisant un appui long sur la touche d'allumage).
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Windows 98 est moins stable que XP :cry:
Répondre