Page 1 sur 1

Ouvrir une page internet simplement

Publié : jeu. 26/juin/2008 22:59
par Octavius
Au risque de ré-inventer encore une fois le fil à couper le beurre, je poste ce code simple qui permet d'ouvrir une page internet grâce au navigateur web par défaut de l'utilisateur (IE, firefox, etc.) en passant par un HyperLinkGadget() :

Code : Tout sélectionner

#Win=0
Enumeration
  #Text
  #Http
  #Quit
EndEnumeration

If OpenWindow(#Win,0,0,300,120,"Fenêtre de test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(#Win))
    TextGadget(#Text,10,10,280,15,"Mon texte",#PB_Text_Center)
    HyperLinkGadget(#Http,73,50,154,15,"http://www.purebasic.fr/french/",RGB(0,128,255),#PB_HyperLink_Underline)
    SetGadgetColor(#Http,#PB_Gadget_FrontColor,RGB(0,0,255))
    ButtonGadget(#Quit,120,80,60,25,"OK")
  EndIf
EndIf

Repeat
  
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Http
          ;C'est ici que c'est intéressant !!!
          ShellExecute_(GetDesktopWindow_(),"open","http://www.purebasic.fr/french/",0,0,#SW_SHOWNORMAL)
        Case #Quit
          End
      EndSelect
    Case #PB_Event_CloseWindow
      End
  EndSelect
  
ForEver
J'ai eu du mal à trouver cette astuce, elle utilise une commande de l'API Windows, je ne comprends pas d'ailleurs que cette fonction ne soit pas native avec PureBasic.

Publié : ven. 27/juin/2008 8:23
par ATHOW
Hum...

J'ai pas PB sous la main pour vérifier, mais....

Code : Tout sélectionner

RunProgram("http://www.google.com")
Il me semble que ça marche :)

EDIT : je viens de vérifier dans la doc :
Sous Windows RunProgram() utilise l'application par défaut associée à un type de fichier. Par exemple: RunProgram("Test.html") ouvrira le navigateur configuré sur votre système.

Publié : ven. 27/juin/2008 14:37
par Octavius
Arrh! :oops: :oops: :oops:

Publié : ven. 27/juin/2008 15:02
par Backup
ATHOW a écrit :Hum...

J'ai pas PB sous la main pour vérifier, mais....

Code : Tout sélectionner

RunProgram("http://www.google.com")
Il me semble que ça marche :)
j'avais vu son listing et j'ai rigolé (gentiment hein :) )
parce que je me suis dit la même chose "tiens ça fait comme RunProgram()"
sont truc . :D

cependant cette Api doit surement avoir une utilité qui complète RunProgram() non ? 8O

Publié : ven. 27/juin/2008 15:14
par Octavius
Je sais pas trop, en fait j'ai trouvé ça sur le forum anglais, un gars qui posait la question justement de comment ouvrir une page internet et c'était cette commande la réponse... Mais je ne comprends pas très bien l'anglais.

http://www.purebasic.fr/english/viewtopic.php?t=9666

Publié : sam. 28/juin/2008 13:00
par Ar-S
Octavius a écrit :Arrh! :oops: :oops: :oops:
ça me rappelle... moi y'a quelques mois :P

Publié : sam. 28/juin/2008 13:31
par Oliv
Octavius a écrit :Je sais pas trop, en fait j'ai trouvé ça sur le forum anglais, un gars qui posait la question justement de comment ouvrir une page internet et c'était cette commande la réponse... Mais je ne comprends pas très bien l'anglais.

http://www.purebasic.fr/english/viewtopic.php?t=9666
En fait il ne sait pas que c'est possible avec RunProgram(), et a vu comment faire avec ShellExecute_() donc il le dit, on lui répond que c'est possible avec RunProgram().
Puis il demande comment faire pour associer un programme avec un type de fichier et enfin pour ouvrir un dossier dans l'explorer.

Et à mon avis il n'y a pas de différence entre RunProgram() et ShellExecute_() seulement que Fred nous a facilité la vie avec RunProgram() :D

Publié : sam. 28/juin/2008 17:56
par case
et aussi que shellexecute_() c'est une api windows et que pour des questions de portabilité c'est mieux d'avoir une commande commune a tout les os ou pure basic existe :)

Publié : jeu. 30/oct./2008 10:37
par teff
Pour les macqueux et ceussent qui soignent le côté multi-plateforme...

Sous BSD, donc sous Mac OS X (sous Linux je ne sais pas), il existe une commande du shell "open" qui s'utilise comme ça (je ne détaille aucune option):
$ open fichier.ext
Cela provoque l'ouverture de "fichier.ext" avec l'appli par défaut pour les "*.ext".
Appliqué à l'ouverture d'une url à partir de PB ça donne :

Code : Tout sélectionner

RunProgram("open", "http://www.purebasic.fr/french/", "")
Bravo et merci à ceux qui font vivre ce forum !