Page 1 sur 1

[R] Lire ligne par ligne un Edit Multi-Ligne

Posté : lun. 28 déc. 2009 17:53
par nHioubi
Bonsoir à tous 8)

Les Info :
Dans mon interface, j'ai créé un Edit Multiligne.

Code : Tout sélectionner

$ED_liens = GUICtrlCreateEdit("", 24, 64, 345, 209, BitOR($ES_MULTILINE,$ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_HSCROLL,$WS_VSCROLL))
Chaque ligne (du $Ed_liens) contiendra une adresse Web, exemple :

Code : Tout sélectionner

http://www.google.com
http://www.Hotmail.com
http://www.Yahoo.com
Une fois que je clique sur mon bouton "Tester", une fonction doit lire, ligne par ligne (Fore each? Do ... while?), et doit faire une action pour chaque site web.

Mes soucis :
-Je ne suis pas arrivé à coder la fonction qui permet de faire : "Pour chaque ligne de $ED_liens faire ......" (Dans mon cas ça sera un ping mais ça c'est bon :P )
-Je n'ai pas trouvé la solution pour limiter chaque lignes de mon ED_liens de 30 Caractères.

Pouvez-vous m'aider ? :oops:
Par avance merci :D

Re: [..] Lire ligne par ligne un Edit Multi-Ligne

Posté : lun. 28 déc. 2009 20:59
par Tlem
L'aide de AutoIt m'indique au moins deux possibilités :

1 - _GUICtrlEdit_GetLineCount() pour retrouver le nombre de ligne du ControlEdit puis une lecture de ce dernier grâce à une boucle For/Next et la fonction _GUICtrlEdit_GetLine().

2 - _GUICtrlEdit_GetText() pour avoir l'intégralité du texte du ControlEdit puis une décomposition de ce texte par un StringSplit() et pour finir la lecture du tableau résultant avec une boucle For/Next.

Bon code.

Re: [..] Lire ligne par ligne un Edit Multi-Ligne

Posté : jeu. 31 déc. 2009 00:25
par nHioubi
Bonsoir à tous !

Merci Tlem pour l'aide :D Il est vrai que j'ai pas d'escuse sur ce coup mais je suis arrivé à mes fins :wink:
(Si peut être une: le _GuiCtrlEdit... ce trouve à la fin de l'aide ! Et non pas aux milieu :P )
Bref, en tout cas merci :roll:

Code : Tout sélectionner

    
$cpt_lignes = _GUICtrlEdit_GetLineCount($ED_liens)
For $i = 0 to $cpt_lignes-1 Step +1
        $liens = _GUICtrlEdit_GetLine($ED_liens, $i)
        Select
            Case $liens = ""
                ;ligne vide
            Case StringLen ($liens) < 20 Or StringLen ($liens) > 30
                ;limitation taille
            Case StringInStr($liens,"www.xxxxxxx.com") < 2 And StringInStr($liens,"XZE") < 2
                ;test de présence
            Case Else
                ;Fonction si tout est OK
        EndSelect
    Next
PS: Merci pour la ré-init du MdP :wink:

Re: [R] Lire ligne par ligne un Edit Multi-Ligne

Posté : jeu. 31 déc. 2009 00:54
par Tlem
La coloration syntaxique du code est réservée aux forums : Merci.