Recevoir fichier d'un serveur HTTP
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
Recevoir fichier d'un serveur HTTP
Salut, je voulais savoir, comment je peut par exemple recuperer une image, sur un serveur http ?
Merci d'avance pour votre réponse.
Merci d'avance pour votre réponse.
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
Si l'image n'est pas trop grosse tu peux la télécharger avec urldownloadfile() qui bloque le programe jusqu'a la fin du téléchargement donc tu peux le mettre dans un thread. Pour avoir un call back avec barre de progression recherche les post sur urldownloadfile sur le forum ( un de moi) car il y a un code source complet mais compliqué bien que commenté en Anglais.
voilà
voilà

-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
non, c'est une commande de l'api windows
Code : Tout sélectionner
url.s = "http://www.purebasic.com/images/logopb.gif"
out.s = "c:\purebasic.gif"
Import "urlmon.lib"
Download.l(*pCaller.l,szURL.s,szFileName.s,*dwReserved.l,*lpfnCB.l) As "_URLDownloadToFileW@20"
EndImport
Debug Download(0, url, out, 0, 0)
Debug URLDownloadToFile_(0, url, out, 0, 0)
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
Tu n'y touches pas !wolfjeremy a écrit :Je doit mettre quoi a " Import "urlmon.lib" " ?
Tu peux changer cela :
url.s = "http://www.purebasic.com/images/logopb.gif" ; ce que tu veux télécharger
out.s = "c:\purebasic.gif" ; l'endroit où tu enregistres le fichier
Voilà

-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
Mais tu n'as pas du tout besoin de la bêta pour faire fonctionner ce code mais il te faut une version enregistrée pour exécuter les API:
Code : Tout sélectionner
Procedure Ansi2Uni(ansi.s)
size.l=MultiByteToWideChar_(#CP_ACP,0,ansi,-1,0,0)
Dim unicode.w(size)
MultiByteToWideChar_(#CP_ACP, 0, ansi, Len(ansi), unicode(), size)
ProcedureReturn unicode()
EndProcedure
If OpenWindow(0, 200, 200, 400, 100, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "PureBasic Window")
CreateGadgetList(WindowID(0))
ButtonGadget(0, 320, 20, 60, 20, "Go")
StringGadget(1,10,20,300,20,"Borderless StringGadget",#PB_String_BorderLess)
EndIf
SetGadgetText(1, "http://www.purebasic.com/screenshots/Editor.png")
Repeat
event = WindowEvent()
Select event
Case #PB_EventGadget
Select EventGadgetID()
Case 0
If OpenLibrary(0,"shdocvw.dll") And IsFunction(0,"DoFileDownload")
texte$=GetGadgetText(1)
CallFunction(0,"DoFileDownload",Ansi2Uni(texte$))
EndIf
EndSelect
EndSelect
Until event =#PB_EventCloseWindow
CloseLibrary(0)
End
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23