Problème listview
Problème listview
Bonjour,
Voilà, c'est encore moi =)
Cette fois encore, j'ai un problème.
J'ai créer une listview. J'écris une ligne dessus. Mais je n'arrive pas à effacer une ligne que je sélectionne dans le listview...
Merci de m'aider =)
Voilà, c'est encore moi =)
Cette fois encore, j'ai un problème.
J'ai créer une listview. J'écris une ligne dessus. Mais je n'arrive pas à effacer une ligne que je sélectionne dans le listview...
Merci de m'aider =)
Re: Problème listview
SetGadgetItemText(#List, GetGadgetState(#List), "")
Re: Problème listview
Merci de cette réponse rapide !
Je regarde ça demain
Bonne soirée,
Aleo
Je regarde ça demain
Bonne soirée,
Aleo
Re: Problème listview
Je reposte ici. Je vais essayer de me faire comprendre, mais c'est pas gagné...
Je fais un programme qui enregistre dans un .txt ce que j'écris dans un #string, et qui y affiche dans un #listview. Le texte que je rentre dans le #string n'est pas fixe, c'est à dire que le nombre de validation de texte n'est pas fixe.
Sauf que dans la boucle d'enregistrement de la chaîne dans le .txt, je sais pas comment faire un retour a la ligne. J'ai essayer avec char(10), FileSeek(#ini, Eof(#ini)), mais sa ne marche pas.
Et aussi un truc que je n'arriverai surement pas faire :
effacer une ligne dans mon #listview, avec "SetGadgetItemText(#List, GetGadgetState(#List), "")", mais aussi dans mon .txt, si il y a 10 lignes, et que je veux supprimer la 1ère.
Voici mon code :
txt$ = dossier$ + "/" + fichier$
Merci de votre aide
Aleo
Je fais un programme qui enregistre dans un .txt ce que j'écris dans un #string, et qui y affiche dans un #listview. Le texte que je rentre dans le #string n'est pas fixe, c'est à dire que le nombre de validation de texte n'est pas fixe.
Sauf que dans la boucle d'enregistrement de la chaîne dans le .txt, je sais pas comment faire un retour a la ligne. J'ai essayer avec char(10), FileSeek(#ini, Eof(#ini)), mais sa ne marche pas.
Et aussi un truc que je n'arriverai surement pas faire :
effacer une ligne dans mon #listview, avec "SetGadgetItemText(#List, GetGadgetState(#List), "")", mais aussi dans mon .txt, si il y a 10 lignes, et que je veux supprimer la 1ère.
Voici mon code :
txt$ = dossier$ + "/" + fichier$
Code : Tout sélectionner
If OpenFile(#ini, "bin/essaie.txt")
FileSeek(#ini, Eof(#ini))
WriteStringN(#ini,txt$ );+ Chr(10))
EndIf
SetGadgetText(#String_3,"")
SetGadgetText(#String_4,"")
AddGadgetItem(#Listview_1,-1,dossier$)
AddGadgetItem(#Listview_2,-1,fichier$)
Aleo
Re: Problème listview
Bonjour aleo,
pourrais tu stp donner un code complet (fonctionnel) ? Pour nous voir plus vite plutot que de devoir ce retaper un code
ça serai sympa merci.
@++
pourrais tu stp donner un code complet (fonctionnel) ? Pour nous voir plus vite plutot que de devoir ce retaper un code

ça serai sympa merci.
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: Problème listview
C'est un truc dans ce genre là que tu veux?
(Fait à l'arrache en 10 minutes, alors cherchez pas la petite bête)
(Fait à l'arrache en 10 minutes, alors cherchez pas la petite bête)
Code : Tout sélectionner
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Listview_0
#String_0
#Button_0
#Button_1
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 400, 52, 381, 425, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ListViewGadget(#Listview_0, 10, 0, 360, 350)
StringGadget(#String_0, 10, 360, 360, 20, "")
ButtonGadget(#Button_0, 10, 390, 180, 30, "Enregistrer dans la liste")
ButtonGadget(#Button_1, 200, 390, 170, 30, "Effacer la sélection")
EndIf
EndIf
EndProcedure
Procedure SaveFile(Fichier$)
If CreateFile(0, Fichier$)
For i = 0 To CountGadgetItems(#Listview_0)
WriteStringN(0, GetGadgetItemText(#Listview_0, i))
Next
CloseFile(0)
EndIf
EndProcedure
Open_Window_0()
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_0
If GetGadgetText(#String_0) <> ""
AddGadgetItem(#Listview_0, -1, GetGadgetText(#String_0))
SaveFile("C:\MonFichier.txt")
SetGadgetText(#String_0, "")
EndIf
Case #Button_1
If GetGadgetState(#Listview_0) <> -1
RemoveGadgetItem(#Listview_0, GetGadgetState(#Listview_0))
SaveFile("C:\MonFichier.txt")
EndIf
Case #Listview_0
EndSelect
EndSelect
Until Quit
End
Re: Problème listview
C'est exactement ça =)
Merci Chris.
Venom : je le montrerai plus tard, pour le moment, ce n'est qu'une esquisse de programme lol.
Il doit faire a peine 200 lignes, et a 1/4 fini... J'avance comme je peux ^^
Merci,
Aleo
Merci Chris.
Venom : je le montrerai plus tard, pour le moment, ce n'est qu'une esquisse de programme lol.
Il doit faire a peine 200 lignes, et a 1/4 fini... J'avance comme je peux ^^
Merci,
Aleo
Re: Problème listview
Pour recharger ton fichier à l'ouverture du programme, tu peux faire une procédure comme ça :
avec un "LoadFile("C:\MonFichier.txt")" après l'ouverture de la fenêtre
Ce genre de procédure va à peu près pour des fichier de taille réduite.
Pour des fichiers beaucoup plus gros, le temps de chargement peut devenir plutôt long.
Code : Tout sélectionner
Procedure LoadFile(Fichier$)
If ReadFile(0, Fichier$)
While Eof(0) = 0
AddGadgetItem(#Listview_0, -1, ReadString(0))
Wend
CloseFile(0)
EndIf
EndProcedure
Ce genre de procédure va à peu près pour des fichier de taille réduite.
Pour des fichiers beaucoup plus gros, le temps de chargement peut devenir plutôt long.
Re: Problème listview
Tu es a coté de moi ou quoi ?
J'allais justement faire un programme qui allais utiliser cette procédure...
Trop fort x)
Merci,
Aleo
J'allais justement faire un programme qui allais utiliser cette procédure...
Trop fort x)
Merci,
Aleo