[R] Traymenuitem (instruction)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

[R] Traymenuitem (instruction)

#1

Message par ani »

je passe au sujet suivant :(

je li un ensemble de fichier en retirant des indices (le titre pour les menu et les sous titre pour les menuitem) là y a pas de problème

Code : Tout sélectionner

for $x = 1 to ubound(fichiertitre) - 1
;ici je recupere titre[0] et je recherche links[$i] de chaque fichier
$Menu = TrayCreateMenu(titre[0])
 for $y = 2 to ubound(titre) - 1
   $smenu=TrayCreateItem($titre1[$y], $Menu)
next
next

TrayCreateItem("")
$aboutitem      = TrayCreateItem("About")
TrayCreateItem("")
$exititem       = TrayCreateItem("Quitter")
TraySetState()
While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = $exititem
            Exit
        Case $msg = $smenu
; ici je vois pas comment faire pour attribuer le lien, je dois passer par un boucle en faisant la meme chose que precedement ? lecture du fichier recuperation du titre ect arriver a link ?
            run(comspec @ " \c " & $link)
    EndSelect
WEnd
Modifié en dernier par ani le jeu. 20 sept. 2007 23:33, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#2

Message par sylvanie »

hum va falloir passer par la gestion d'un tableau de dim fixe composé de tableau de dim variable.
Mais avant; c'est censé être quoi $link par rapport aux différents sous menu ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#3

Message par ani »

c'est le href des sous titre :(

donc passage par tableau j'ai du mal :( , je craque sur cette matière :( c'est normal ?
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#4

Message par sylvanie »

ce href du sous menu (donc $link) a quel lien avec $titre1[$y] ?
J'ai vu en commentaire que tu construisais un tableau $link pour chaque menu $Menu, mais après je ne voisp pas bien le lien entre le tableau $link et la liste des ssmenu.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#5

Message par ani »

Petit script qui sera dispo dès que je rentre :p

normalement sa devrait fonctionner je fait çà encore de tête
mais je me demande si je pourrait pas encore réduire le code en indiquant a l'avance les recherche dans la fonction lecture avec un switch quelque chose comme çà case item case link case titre ect ?

Code : Tout sélectionner

#include <file.au3>

Opt("TrayMenuMode",1)

$uriTest = "http://www.awt.be/web/awt/rss.aspx"
$DossierSauvegarde = @scriptdir 

$rssplus = InputBox("rss","Indiquer le lien rss",$uriTest )
$RSSNOM = InputBox("rssnom","Indiquer un nom pour votre fichier il sera sauvegarder dans le dossier" & @CRLF & $DossierSauvegarde,"")
if not stringinstr($rssplus,"") then inetget($rssplus,$DossierSauvegarde & $RSSNOM & ".xml",1)

$fichiertitre= _FileListToArray($DossierSauvegarde, "*.xml")

for $x = 1 to ubound($fichiertitre) - 1 
$titre = lecture($fichiertitre[$x],"<title>","</title>")
$link = lecture($fichiertitre[$x],"<link>","</link>")
next 

$Menu = TrayCreateMenu($titre[0]) 
for $y = 1 to ubound($titre) - 1 
$smenu=TrayCreateItem($titre[$y], $Menu) 
next 

TrayCreateItem("")
$exititem       = TrayCreateItem("Quitter")
TraySetState()
While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
        Case $msg = $exititem
            Exit
    EndSelect
WEnd

func lecture($fichier, $debut, $fin)
$lecture= FileRead($fichier, FileGetSize($fichier))
$Array = StringRegExp($lecture,'(?:' & $debut & ')(.*?)(?:' & $fin & ')', 3)
Return $Array
endfunc

dans le strinregexp on peut faire aussi mais a ce moment là la fonction change

func lecture($fichier)
$lecture = FileRead($fichier)
$array = StringRegExp($lecture,"<(.*?)>(.*?)<(.*?)>",3)
ect...

?

c'est bon pour le moment ? en faite je me fait un lecteurrss ,, le script est plus long, mais vu que je ne suis pas encore chez moi pas avant deux jours :(

Cette méthode pourrait fonctionner pour récupérer divers info sur une page web comme pour le spyforum avec l'expression reguliere <span> ect ?

normalement y a une interface qui demande le lien rss avec nom et si on veut les indiwuer dans le menutray ou page web ect j'imagine un peu

pour activer les lien href je dois faire un tableau a partir du sous menu ?

$smenu[1][100] ? un tableau sur 100 indices ?
peut etre que je dois passer par la lecture item pour donner le titre le lien la description ralala car si le rss est differnet mode dc: /atom ect sa ne fonctionne pas toujours :(
ou trouver une methode pour dire si le lien est le nom du site alors faire $x + 1 hm verrais çà en rentrant,,,, j'ai hateeee :)



faut que je maitrise çà moi sinon :(
Modifié en dernier par ani le sam. 08 sept. 2007 15:25, modifié 1 fois.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#6

Message par ani »

je dois etre tout proche de la solution, hm y aussi les erreur que je note jamais :§ faudrait ...

j'avais aussi pensé d'indiquer la description dans un tooltip ou une tite fenetr sans contour avec le descriptif du lien et si on click on va sur le lien href

ou je part encore en cacahoouuette ?

merci
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#7

Message par sylvanie »

voilà, je l'ai testé sur 1 xml pour l'instant, cependant je note un décalage de 2 indices entre le titre du ssmenu et le link, faudra corriger ceci plus tard, j'ai mis un warnning en commentaire à la ligne en question
► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#8

Message par ani »

oui en faite le deuxieme for = 2 il faut le commencer à 1

le 2 serait dans le cas ou y aurai la balise image ou dans un autre format qui serai proposé format atom/dc:purl/xml1 /2 ect

je test :)

sinon quand on passe par http vaut mieux utiliser iexplore

Code : Tout sélectionner

Run(@ComSpec & ' /c start iexplore ' & $lien)
défois explorer retourne le c:\ au lieu du lien http :(

je crois que les histoires de tableau faut vraiment que je buche :§, pourtant j'ai eu un cours en privé désolé,
des erreurs grrrr c'est chiant les espaces :(

et bien maintenant me reste plus qu'a faire la fonction :)
un petit switch sur le array ou des condition si rencontre balise machin .... je pense même qui doit y avoir plus simple avec les item

Pour le Traymenu retourner le premier titre
Pour le Traysous-menu si item alors commencer à selectionner titre et le lien comme çà plus de problème au niveau des 2 - 2 ect non ?
ssmenu[$x][0]= titre
ssmenu[$x][1]= link

bon vais retourner le nombre de hit sur item si j'y arrive car tantot me retourné pas ce que je désiré ^^" pourtant c'est avec offset et @extended meuhhhh ^^

élèment qui serait ajouter a coter du menu :^D

ps: j'ai un pcbsd qui dispose dans le browser un rss editeur et lectureflux,mais il utilise le panel de gauche en treeview je ne sait pas si quelqu'un voit?


edit :: en considerant qu'il faut juste le premier indice, si je fait une fonction qui me renvoie juste le premier indice du array sa serait plus simple non ?

on a besoin du titre (le premier) et ensuite viend les item (qui dispose de 4 à 6indices)

je doi proceder de la meme maniere que le script ci-dessus ?
smenu[menu[0]][4] < ?

avec le tableau ?

vais tester et si pas ... j'abandonne tout...
Répondre