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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
nHioubi
Niveau 2
Niveau 2
Messages : 20
Enregistré le : lun. 29 juin 2009 16:11
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par nHioubi le jeu. 31 déc. 2009 00:26, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#2

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
nHioubi
Niveau 2
Niveau 2
Messages : 20
Enregistré le : lun. 29 juin 2009 16:11
Status : Hors ligne

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

#3

Message 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:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#4

Message par Tlem »

La coloration syntaxique du code est réservée aux forums : Merci.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre