and that they need images, music etc ...
for aid to debugging, we need to provide images, sprites, sounds etc ...
this is where intervene, the library below!
it allows to share a listing on the forums, without having to provide the media that go with ...
just use the media on the NET

An example of use is included with the procedures of the library
click the play button and you'll see it appear an image and hear a famous music !!

the code :
Code: Select all
;***********************************************
;Titre :*internet_load()
;Auteur : Dobro and Ar-s
;Date :02/07/2016
;Heure :17:01:08
;Version Purebasic : PureBasic 5.42 LTS (Windows - x86)
;Version de l'editeur :EPB V2.64
; Libairies necessaire : Aucune
;***********************************************
UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()
Declare openwindow_win()
Declare.l loadimage_net(adr$,nom_fichier$)
Declare.l loadsound_net(adr$,nom_fichier$)
Declare.l loadsound3d_net(adr$,nom_fichier$)
Declare.l loadmusic_net(adr$,nom_fichier$)
Declare.l loadsprite_net(adr$,nom_fichier$)
Declare.l loadmovie_net(adr$,nom_fichier$)
Declare.l loadfont_net(adr$,nom_fichier$,taille)
Declare catchimage_net(adr$)
Declare catchsound_net(adr$)
Declare catchmusic_net(adr$)
Declare catchsprite_net(adr$)
; ************************************* Code Sample ***********************************
;{- Enumerations / DataSections
;{ Windows
Enumeration
#Win
EndEnumeration
;}
;{ Gadgets
Enumeration
#Image_gadget
#Text_titre
#Button_Play
EndEnumeration
;}
;{ Images
Enumeration
#Image
EndEnumeration
;}
Define.l Event
InitSound()
;}
Procedure OpenWindow_Win()
If OpenWindow(#Win, 404, 84, 400, 400, "Demo Lib Loadnet by Dobro", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
ImageGadget(#Image_gadget, 45, 50, 295, 270, 0, #PB_Image_Border)
TextGadget(#Text_titre, 160, 10, 95, 25, "Demo Lib Load Net")
ButtonGadget(#Button_Play, 45, 340, 80, 35, "Play")
EndIf
EndProcedure
OpenWindow_Win()
;{- Event loop
Repeat
Event = WaitWindowEvent(12)
Select Event
; ///////////////////
Case #PB_Event_Gadget
Select EventGadget()
Case #Image_gadget
Case #Text_titre
Case #Button_Play
Adr$="http://michel.dobro.free.fr/Bank_images/"
nom_fichier$="girl2.bmp"
;im=Loadimage_net(Adr$,nom_fichier$) ; Choice 1
im=CatchImage_Net(Adr$ + nom_fichier$) ; choice 2
if im>0
SetGadgetState(#Image_gadget, imageId(im))
Endif
nom_music$="Maupiti.mod"
;music=LoadMusic_net(Adr$,nom_music$) ; choice 1
music= CatchMusic_Net(Adr$+nom_music$) ; choice 2
if music>0
PlayMusic(music)
Endif
EndSelect
; ////////////////////////
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Win
CloseWindow(#Win)
Break
EndSelect
EndSelect
Forever
;
;}
; ********************************************************************************************
; ***************************** Librairie LoadNEt *****************************************
Procedure.l Loadimage_net(Adr$,nom_fichier$)
; By Dobro
;Adr$=adresse du fichier image a charger
;nom_image$ = nom qu'on donne a cette image
; la procedure renvoi l'Id de l'image recupérée ou False en cas d'erreur
Protected image
if InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$,path$+nom_fichier$)
image=LoadImage(#pb_any,path$+nom_fichier$)
DeleteFile(path$+nom_fichier$)
ProcedureReturn image
Else
ProcedureReturn #false
EndIf
Else
ProcedureReturn #false
Endif
EndProcedure
Procedure.l LoadSound_net(Adr$,nom_fichier$)
; By Dobro
;Adr$=adresse du fichier image a charger
;nom_fichier$ = nom qu'on donne a ce son
; la procedure renvoi l'Id du son recupéré ou False en cas d'erreur
Protected sound,path$
InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$, path$+nom_fichier$)
sound=LoadSound(#pb_any, path$+nom_fichier$)
DeleteFile(path$+nom_fichier$)
ProcedureReturn sound
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure.l LoadSound3D_net(Adr$,nom_fichier$)
; By Dobro
;Adr$=adresse du fichier image a charger
;nom_fichier$ = nom qu'on donne a ce son
; la procedure renvoi l'Id du son recupéré ou False en cas d'erreur
Protected sound,path$
InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$, path$+nom_fichier$)
sound=LoadSound3D(#pb_any, path$+nom_fichier$)
DeleteFile(path$+nom_fichier$)
ProcedureReturn sound
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure.l LoadMusic_net(Adr$,nom_fichier$)
; By Dobro
;Adr$=adresse du fichier image a charger
;nom_fichier$ = nom qu'on donne a cette Musique
; la procedure renvoi l'Id de la Music recupérée ou False en cas d'erreur
Protected Music, path$
InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$, path$+nom_fichier$)
Music=LoadMusic(#pb_any,path$+nom_fichier$)
DeleteFile(path$+nom_fichier$)
ProcedureReturn Music
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure.l LoadSprite_net(Adr$,nom_fichier$)
; By Dobro
;Adr$=adresse du fichier image a charger
;nom_fichier$ = nom qu'on donne a ce Sprite
; la procedure renvoi l'Id du Sprite recupéré ou False en cas d'erreur
Protected spr,path$
InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$, path$+nom_fichier$)
spr=LoadSprite(#pb_any, path$+nom_fichier$)
DeleteFile(path$+nom_fichier$)
ProcedureReturn spr
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure.l LoadMovie_net(Adr$,nom_fichier$)
; By Dobro
;Adr$=adresse du fichier image a charger
;nom_fichier$ = nom qu'on donne a cette Video
; la procedure renvoi l'Id de la video recup?r? ou False en cas d'erreur
Protected movie
InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$, path$+nom_fichier$)
movie=LoadSprite(#pb_any, path$+nom_fichier$)
DeleteFile(path$+nom_fichier$)
ProcedureReturn movie
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure.l LoadFont_net(Adr$,nom_fichier$,taille)
; By Dobro
;Adr$=adresse du fichier image a charger
;taille = taille de la fonte
; la procedure renvoi l'Id de la Fonte recupérée ou False en cas d'erreur
Protected Font
InitNetwork()
path$=GetTemporaryDirectory()
If ReceiveHTTPFile(Adr$+nom_fichier$, path$+nom_fichier$)
Font=LoadFont(#pb_any, path$+nom_fichier$,taille)
DeleteFile(path$+nom_fichier$)
ProcedureReturn Font
Else
ProcedureReturn #false
EndIf
EndProcedure
; ************** les Catchs ***********************************************************
Procedure CatchImage_Net(Adr$)
InitNetwork()
Protected image
; By Ar-S
*Buffer = ReceiveHTTPMemory(Adr$)
If *Buffer
Image = CatchImage(#PB_Any, *Buffer, MemorySize(*Buffer) )
FreeMemory(*Buffer)
ProcedureReturn Image
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure CatchSound_Net(Adr$)
InitNetwork()
Protected sound
; By Ar-S
*Buffer = ReceiveHTTPMemory(Adr$)
If *Buffer
Sound = Catchsound(#PB_Any, *Buffer, MemorySize(*Buffer) )
FreeMemory(*Buffer)
ProcedureReturn Sound
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure CatchMusic_Net(Adr$)
InitNetwork()
Protected Music
; By Ar-S
*Buffer = ReceiveHTTPMemory(Adr$)
If *Buffer
Music = CatchMusic(#PB_Any, *Buffer, MemorySize(*Buffer) )
FreeMemory(*Buffer)
ProcedureReturn Music
Else
ProcedureReturn #false
EndIf
EndProcedure
Procedure CatchSprite_Net(Adr$)
InitNetwork()
Protected Spr
; By Ar-S
*Buffer = ReceiveHTTPMemory(Adr$)
If *Buffer
Spr = CatchSprite(#PB_Any, *Buffer, MemorySize(*Buffer) )
FreeMemory(*Buffer)
ProcedureReturn Spr
Else
ProcedureReturn #false
EndIf
Endprocedure
; Epb