[..] XML et AutoIT

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
shiirosan
Niveau 2
Niveau 2
Messages : 21
Enregistré le : sam. 07 juil. 2012 10:04
Status : Hors ligne

[..] XML et AutoIT

#1

Message par shiirosan »

Bonjour/Bonsoirs, nouveau problème sur AutoIT pour ma part. Cette fois-ci, j'essaye de faire pour que mon script AutoIT lise les lignes d'un XML et qu'il choisissent de manière aléatoire une réponse sur toute celle donnée. (Création d'un bot pour IRC, considérer comme autre bot ou pas ? Si oui, alors je chercherais ailleurs.)
► Afficher le textefichier xml
► Afficher le textecode autoit
Comme on peut le voir d’après mon code, (en partie repris d'un autre bot pour IRC), j'essaye de faire pour que la balise <Li> soit lu de manière aléatoire... Le principal probleme, c'est qu'il ne renvoit que le premier message.

Merci de me signaler si se genre de problèmes est interdit sur le forum, et, si ce n'est pas le cas, de bien vouloir m'aider.

---EDIT---

J'ai ajouté le fichier XML.au3 qui peut-être utile. ;)
Fichiers joints
XML.au3
(32.64 Kio) Téléchargé 124 fois
Modifié en dernier par shiirosan le lun. 29 juil. 2013 22:07, modifié 1 fois.
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: XML et AutoIT

#2

Message par TopXm »

Hello :)

J'ai fait dans la simplicité, j'ai enregistré ton fichier XML en tant que _RanDom.txt avec une boucle sur 5 :)

Du coup en passant par un tableau puis un Random ça pourrait donner un truc du style :

Code : Tout sélectionner

#include <array.au3>

Local $Buf = FileRead("_Random.txt")
local $Arr = StringRegExp($Buf,  '(?s)<li>(.*?)</li>', 3)

_ArrayDisplay($Arr)

Local $I, $Ind

For $I = 1 To 5
    $Ind = Random(0, UBound($Arr)-1, 1)
    ConsoleWrite('Retour = ' & $Arr[$Ind] & @CRLF)
Next
 
shiirosan
Niveau 2
Niveau 2
Messages : 21
Enregistré le : sam. 07 juil. 2012 10:04
Status : Hors ligne

Re: XML et AutoIT

#3

Message par shiirosan »

fonctionne seul, mais une fois que je le met dans mon script, ne fonctionne plus... Je fait quelque essais et si mon problème n'est pas réglé je reviens vous voir. Merci beaucoup de l'aide déjà fourni :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: XML et AutoIT

#4

Message par mikell »

@TopXm
C'est le genre de code où il vaut mieux systématiquement faire une bonne gestion d'erreur

Code : Tout sélectionner

Msgbox(64, "", _salut() )

Func _salut()
  Local $Buf = FileRead("_Random.txt")
  local $Arr = StringRegExp($Buf,  '(?s)<li>(.*?)</li>', 3)
  If IsArray($Arr) Then
      Return $Arr[Random(0, UBound($Arr)-1, 1)]
  Else
     Return SetError(1, 0, "salut par défaut")
  EndIf
EndFunc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
shiirosan
Niveau 2
Niveau 2
Messages : 21
Enregistré le : sam. 07 juil. 2012 10:04
Status : Hors ligne

Re: XML et AutoIT

#5

Message par shiirosan »

Mikell, vous êtes un miracle ! Le programme fonctionne correctement et le message est bien écrit !

---EDIT---

Encore un problème T.T Pourrais-je avoir une discutions privés avec vous Mikell ? Je ne préfère pas mettre mes sources sur internet pour le moment...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: XML et AutoIT

#6

Message par mikell »

shiirosan a écrit : le message est bien écrit !
Attention, si le message qui s'écrit est "salut par défaut", c'est qu'il y a toujours une cagade ! :mrgreen:
Sinon ok pour le mp
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre