[R] Mise à jour d'une Edit ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#21

Message par blacksoul305 »

mikell a écrit :Purée laisse tomber l'edit !!!
http://www.autoitscript.fr/forum/viewto ... 020#p65020
J'ai compris j'ai compris, pas la peine de me crier dessus tu sais... :oops: :cry: ( :lol: )
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#22

Message 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
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
Uranium
Niveau 5
Niveau 5
Messages : 143
Enregistré le : mer. 28 mars 2012 13:13
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#23

Message 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
« En mathématiques, “évident” est le mot le plus dangereux. »
Avatar du membre
Uranium
Niveau 5
Niveau 5
Messages : 143
Enregistré le : mer. 28 mars 2012 13:13
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#24

Message par Uranium »

Voila un petit script pour te montrer dnas ton Edit , que je viens de faire :
► Afficher le texte
Dis-moi si sa te conviens :)
(Si tu es déjà en arrays pas la peine d'utiliser StringSlip )
« En mathématiques, “évident” est le mot le plus dangereux. »
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#25

Message 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 !
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#26

Message par mikell »

Maismaismais, je t'ai pourtant dit que la listview c'était facile :shock:
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]
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Mise à jour d'une Edit ?

#27

Message 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 !
Étudiant en 2ème année de Licence Informatique.
Répondre