Page 1 sur 3
un bip indiquant un message.
Publié : dim. 22/mars/2009 21:27
par chercheacomprendre
bonsoir à tous, je me pose la question, est-il possible de faire un petit utilitaire, m'indiquant par un bip si un message vient dans ma messagerie en purebasic ?.
bonne soirée et merci par avance.
Publié : lun. 23/mars/2009 2:55
par Ollivier
Salut Yves,
Regarde dans l'aide la librairie "Sound".
Il y a trois fonctions essentielles à ton besoin:
Code : Tout sélectionner
InitSound() ; Charge la librairie des sons
LoadSound() ; Charge un fichier son
PlaySound() ; Joue le son
Voilà!
Ollivier
Publié : lun. 23/mars/2009 6:24
par venom
oui mais si il y avait que sa
après que tu gère sa tu passe a la récupération d'information entre purebasic et le site en php.
@++
Publié : lun. 23/mars/2009 17:06
par chercheacomprendre
oui, je ne sais pas comment faire au niveau de windows XP quel fichier concerné, j'avoue que c'est pas évident...
pourtant il doit y avoir une astuce, en fonction de mon POP ? ou mon IP ?
Je cherche une ébauche de code , car je ne connais pas grand chose à ce niveau .
merci par avance.
YB
Publié : lun. 23/mars/2009 17:31
par cha0s
Il suffit que tu vérifie tout les N minutes si tu a un message.
Publié : lun. 23/mars/2009 21:21
par chercheacomprendre
trés drole, je note ...
Publié : lun. 23/mars/2009 22:23
par Ollivier
Euh... ça n'était pas une blague!
Publié : lun. 23/mars/2009 22:39
par venom
non c'est pas une blague je fait sa pour un forum qui a une fonction nouveau message j'ai une petite fenêtre en bas a droite qui toutes les minutes s'actualise et je vois les nouveaux message poster sur ce dernier
@++
Publié : lun. 23/mars/2009 23:18
par chercheacomprendre
ah ok, interressant ...
celà pourrait fonctionné alors sur la messagerie mail.?
c'est en purebasic ?
yves.
Publié : mar. 24/mars/2009 6:25
par venom
oui bien sur,
Code : Tout sélectionner
Enumeration
#window_0
EndEnumeration
Enumeration
#web_0
EndEnumeration
If OpenWindow(#window_0,0,0,800,600,"SAV-computer News",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
WebGadget(#web_0, 0, 0,800,700,"http://www.purebasic.fr/french/index.php");<---- ton url
base = ElapsedMilliseconds()
Repeat
time = ElapsedMilliseconds() - base
If( time > 60000);<---------------- delay de rafrauchissement
SetGadgetText(#web_0, "http://www.sav-computer.com/search.php?search_id=newposts")
base = ElapsedMilliseconds()
EndIf
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
voilà a toi de modifier la taille et autres options
par contre sa na bip pas
@++
Publié : mar. 24/mars/2009 17:10
par chercheacomprendre
Ok, merci bien, je vais pouvoir travailler un peu dessus, c'est sympa.
yves.
Publié : mer. 25/mars/2009 19:58
par chercheacomprendre
Non, je ne sais pas faire !... trop compliqué pour mouaa...
tant pis, merci quand meme.
Yves.
Publié : mer. 25/mars/2009 23:05
par Atomo
Ce code te permet de récupérer le nombre de messages dans ta boite à MP sur purebasic.fr, il faut cependant se log avec tes logins et pass la premiere fois.
Code : Tout sélectionner
Enumeration
#Window_0
#Web_0
EndEnumeration
If OpenWindow(#Window_0, 0, 0, 800, 600, "Messagerie", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Window_0))
WebGadget(#Web_0, 0, 0, 800, 600, "http://www.purebasic.fr/french/privmsg.php?folder=inbox")
Temps.l = ElapsedMilliseconds() ;initialisation temps écoulé
Repeat
Event = WaitWindowEvent(1)
If ElapsedMilliseconds()-Temps > 5000 ;attente de 5secondes
Sources.s = GetGadgetItemText(#Web_0, #PB_Web_HtmlCode) ;récupère le code source de la page html actuelle
New_Messages.l = CountString(Sources, "title="+Chr(34)+"Message Non-lu")
Old_Messages.l = CountString(Sources, "title="+Chr(34)+"Message déjà lu")
Debug "Nouveaux messages="+Str(New_Messages)
Debug "Anciens messages="+Str(Old_Messages)
SetGadgetState(#Web_0, #PB_Web_Refresh) ;rafraichit la page
Temps = ElapsedMilliseconds() ;réinitialisation temps écoulé
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
EndIf
Le fonctionnement est simple, je récupère toutes les 5secondes le code source html de la page, je remarque que les nouveaux messages sont indiqués par la balise : title="Message Non-lu", je compte le nombre de fois où cette phrase apparaît et le tour est joué
Le principe reste le même avec d'autres site comme laposte.net par exemple.
Si tu as des questions n'hésite pas.
PS : Je t'envoi un nouveau message privé pour que tu puisse tester la commande.
Publié : jeu. 26/mars/2009 0:08
par venom
je me suis permis d'y ajouté un bip
Code : Tout sélectionner
Enumeration
#Window_0
#Web_0
EndEnumeration
If OpenWindow(#Window_0, 0, 0, 800, 600, "Messagerie", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Window_0))
WebGadget(#Web_0, 0, 0, 800, 600, "http://www.purebasic.fr/french/privmsg.php?folder=inbox")
Temps.l = ElapsedMilliseconds() ;initialisation temps écoulé
Repeat
Event = WaitWindowEvent(1)
If ElapsedMilliseconds()-Temps > 5000 ;attente de 5secondes
Sources.s = GetGadgetItemText(#Web_0, #PB_Web_HtmlCode) ;récupère le code source de la page html actuelle
New_Messages.l = CountString(Sources, "title="+Chr(34)+"Message Non-lu")
Old_Messages.l = CountString(Sources, "title="+Chr(34)+"Message déjà lu")
Debug "Nouveaux messages="+Str(New_Messages)
Debug "Anciens messages="+Str(Old_Messages)
SetGadgetState(#Web_0, #PB_Web_Refresh) ;rafraichit la page
;----------------------------bip----------------------------------------
If New_Messages.l = 1
Beep_(1000,1000)
ElseIf New_Messages.l = 0
EndIf
;----------------------------bip----------------------------------------
Temps = ElapsedMilliseconds() ;réinitialisation temps écoulé
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
EndIf
@++
Publié : jeu. 26/mars/2009 17:12
par chercheacomprendre
Ok, merci les amis, je vais essayé celà, c'est tres sympa, je vous tiens au courant de mes essais.
bonne soirée.
Yves.