Page 2 sur 2
Re: [..] Mise à jour d'une Edit ?
Posté : lun. 26 mars 2012 18:55
par blacksoul305
J'ai compris j'ai compris, pas la peine de me crier dessus tu sais...

(

)
Re: [..] Mise à jour d'une Edit ?
Posté : mar. 27 mars 2012 18:07
par blacksoul305
###Double post volontaire###
Voilà, j'espère que c'est la dernière fois que ce sujet remonte. J'ai adopté une ListView qui est vachement plus facile à gérer, et je vous remercie d'ailleurs pour cette idée. Mon seul problème est la suppression de l'item et la section du ini correspondante. Pour plus d'informations, voici le fonctionnement nouveau du programme :
Premier bouton : Ajouter
Code : Tout sélectionner
$input = GUICtrlCreateInputbox() ; entrée du nom
$test = GUICtrlRead($input) ; on lit la valeur
IniWrite($ini,$test,"lol",1")
Second bouton : Supprimer
Je veux qu'avec ce bouton, l'item sélectionnée dans ma ListView soit supprimée, et la section ini correspondante aussi. Là on ne part pas avec un Array du au ini dès le départ, j'ai au contraire réussi à l'éviter, reste maintenant le problème de supprimer ma petite section. Je n'ai pas réussi à le faire par le biais de ton code, parce qu'il est basé sur l'array dès le départ. Désolé mon cher Mickell. Donc qui peux m'aider pour la seconde fonction qui est supprimer ?
Merci
Re: [..] Mise à jour d'une Edit ?
Posté : mer. 28 mars 2012 14:05
par Uranium
Tu peux faire comme j'ai fait pour créer des listes de lecture.
Tu écris tous à la suite en mettant des : pour séparer ( tu peux changer les : par un autre caractères ) et après tu fais come sa :
Exemple :
Code : Tout sélectionner
$i = 1
$t = StringSplit('Plop:Flop:Flap',':')
Local $rows = UBound($t)
For $i = 1 To $rows -1
MsgBox(0,'',$t[$i])
Next
Re: [..] Mise à jour d'une Edit ?
Posté : mer. 28 mars 2012 14:37
par Uranium
Voila un petit script pour te montrer dnas ton Edit , que je viens de faire :
► Afficher le texte
Code : Tout sélectionner
#include <GuiEdit.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 440, 192, 124)
$hEdit = GUICtrlCreateEdit("", 152, 112, 153, 137)
GUICtrlSetData(-1, "")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$i = 1
$t = StringSplit('Plop:Flop:Flap',':')
Local $rows = UBound($t)
For $i = 1 To $rows -1
_GUICtrlEdit_BeginUpdate($hEdit)
_GUICtrlEdit_InsertText($hEdit, '-' & $t[$i] & @CRLF, -1)
_GUICtrlEdit_EndUpdate($hEdit)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Dis-moi si sa te conviens

(Si tu es déjà en arrays pas la peine d'utiliser StringSlip )
Re: [..] Mise à jour d'une Edit ?
Posté : mer. 28 mars 2012 18:43
par blacksoul305
Merci pour les codes, je te conseille par contre d'éviter le double post, pense plutôt à un édit de ton premier post. Je vais étudier tes codes mais ça ne me plaît pas trop car je vais devoir changer tout le système du programme, chose que je fais en ce moment, et vu l'allure que ça prend, je ne préfère pas.
M'enfin, si tu souhaites continuer à m'aider, voilà comment ça marche :
- Lorsque l'utilisateur choisi un $qqch, on affiche $qqch dans la ListView en tant qu'item
(Fait)
- On écrit par la suite $qqch dans un ini en tant que nom de sections
(Fait)
- Si l'utilisateur sélectionne un $qqch présent dans la List, et qu'il le supprime, on l'enlève et on le supprime aussi de l'ini.
(Bloque)
Merci encore !
Re: [..] Mise à jour d'une Edit ?
Posté : mer. 28 mars 2012 20:08
par mikell
Maismaismais, je t'ai pourtant dit que la listview c'était facile
Je te signale que dans mon exemple précédent, si tu supprimes un item de la listview, ça le supprime aussi dans le ini
Maintenant tu peux aussi faire ça (pas testé mais ya aucune raison pour que ça marche pô) :
Code : Tout sélectionner
Case $degage [color=#008000] ; suppression d'item[/color]
$index = ControlListView($gui, "", $listview, "GetSelected") [color=#008000] ; récupère l'index de l'item[/color]
$section_a_virer = ControlListView($gui, "", $listview, "GetText", $index) [color=#008000] ; récupère le texte de l'item[/color]
GUICtrlDelete($ligne[$index]) [color=#008000] ; vire la ligne dans la listview[/color]
_ArrayDelete($ligne, $index) [color=#008000] ; vire son handle de l'array des items[/color]
IniDelete($ini, $section_a_virer) [color=#008000] ; vire la section correspondante[/color]
Re: [..] Mise à jour d'une Edit ?
Posté : mer. 28 mars 2012 22:58
par blacksoul305
OMG, j'y suis enfin arrivé !! Merci tout d'abord à
Mikell de s'être tant occupé de moi,
Mikell,
Tlem et
Matwachich pour l'idée de la ListView.
Mikell,
Tlem et
Uranium pour les codes fournis !
Voici comment j'y suis arrivé, grâce au code
Mikell entre autre, et une fonction trouvée en faisant mes p'tites recherche, fonction créée par
GaRydelaMer
Suppression de $qqch :
Code : Tout sélectionner
$ToSee = ControlListView($Form1_1,"",$ListView1,"GetSelected")
$ToDelete = ControlListView($Form1_1,"",$ListView1,"GetText",$ToSee)
My_GUICtrlListView_DeleteItem($ListView1,$ToSee)
IniDelete($ini, $ToDelete)
Fonction My_GUICtrlListView_DeleteItem() :
Code : Tout sélectionner
Func My_GUICtrlListView_DeleteItem($hWnd, $Item = -1)
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
If $Item = -1 Then $Item = _GUICtrlListView_GetSelectedIndices($hWnd)
_GUICtrlListView_DeleteItem($hWnd, $Item)
EndFunc ;==>My_GUICtrlListView_DeleteItem
Bref, ça marche super bien maintenant avec une multitude de teste et d'ordre de suppression, tout marche au mieux. J'vais pouvoir le finaliser, encore merci à vous tous !
EDIT : Lien du post de la fonction originale,
ici !