En PureBasic, il est facile de lire des données ASCII dans un fichier.
Mais comment s’y prendre pour lire des données ASCII, construites à la volée (donc non enregistrées dans un fichier clairement identifié), et contenues dans une fenetre ?
Typiquement, comment avoir accès au code HTML d’une page sur le Web via PB?
Accès au code HTML d’une page sur le Web ?
bah techniquement la page est stockée dans un fichier temporaire... apres pour savoir comment la trouver c'est autre chose. sinon on trouve peut etre tout ca dans le topic de freak:
http://www.purebasic.fr/english/viewtopic.php?t=16837
Dri
http://www.purebasic.fr/english/viewtopic.php?t=16837
Dri
Moi j'utilise ça pour extraire du texte d'une chaine ( HTML )
et ceci pour lire une page Web et la mettre dans une chaine :
Code : Tout sélectionner
ProcedureDLL SearchStringInit(String.s)
Global SearchStringIndex,SearchString.s
SearchStringIndex=1
SearchString=String
EndProcedure
ProcedureDLL.s SearchString(StartString.s,EndString.s)
Start=FindString(SearchString,StartString,SearchStringIndex)
If Start
Start=Start+Len(StartString)
EndIndex=FindString(SearchString,EndString,Start)
If EndIndex
SearchStringIndex=EndIndex+Len(EndString)
ProcedureReturn Mid(SearchString,Start,EndIndex-Start)
EndIf
EndIf
EndProcedure
;/ Test
; SearchStringInit("This *is* a Won²der#@=full *test*")
; Debug SearchString("*","*")
; Debug SearchString("²","#@=")
; Debug SearchString("*","*")
Code : Tout sélectionner
ProcedureDLL.s Url2Text2(URL.s, OpenType.b,ProxyAndPort.s)
; 1 INTERNET_OPEN_TYPE_DIRECT Resolves all host names locally.
; 0 INTERNET_OPEN_TYPE_PRECONFIG Retrieves the proxy Or direct configuration from the registry.
; 4 INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY Retrieves the proxy Or direct configuration from the registry And prevents the use of a startup Microsoft JScript Or Internet Setup (INS) file.
; 3 INTERNET_OPEN_TYPE_PROXY Passes requests To the proxy unless a proxy bypass list is supplied And the name To be resolved bypasses the proxy. In this Case, the function uses INTERNET_OPEN_TYPE_DIRECT.
isLoop.b=1
INET_RELOAD.l = $80000000
hInet.l=0
hURL.l=0
Bytes.l=0
Buffer.s=Space(2048)
RES.s=""
hInet = InternetOpen_("", OpenType, ProxyAndPort, "", 0)
hURL = InternetOpenUrl_(hInet, URL, #Null, 0, INET_RELOAD, 0)
Repeat
InternetReadFile_(hURL,@Buffer, Len(Buffer), @Bytes)
If Bytes = 0
isLoop=0
Else
RES = RES + Left(Buffer, Bytes)
EndIf
Until isLoop=0
InternetCloseHandle_(hURL)
InternetCloseHandle_(hInet)
ProcedureReturn RES
EndProcedure
ProcedureDLL.s Url2Text(URL.s)
ProcedureReturn Url2Text2(URL,1,"")
EndProcedure
Je connais la solution en vb.
http://www.vbfrance.com/code.aspx?ID=4722
Il existe un autre lien sur le site de supinfo plus détaillé, mais je ne me souviens pas de l'adresse.
Il me semble que les types d'objets utilisés dans ce code sont connut en PureBasic. Si on tape HTML dans l'éditeur, on a une liste de fonctions intérressante.
Ca fonctionne sans probléme en VB avec le contrôle WebBrowser. il faut charger ta page web dans le contrôle. Puis crée l'objet qui va avoir accés aux balises qui la compose. Tout cela est expliqué dans le lien.
Je ne sais pas si c'est la bonne méthode pour le PureBasic, par contre.
http://www.vbfrance.com/code.aspx?ID=4722
Il existe un autre lien sur le site de supinfo plus détaillé, mais je ne me souviens pas de l'adresse.
Il me semble que les types d'objets utilisés dans ce code sont connut en PureBasic. Si on tape HTML dans l'éditeur, on a une liste de fonctions intérressante.
Ca fonctionne sans probléme en VB avec le contrôle WebBrowser. il faut charger ta page web dans le contrôle. Puis crée l'objet qui va avoir accés aux balises qui la compose. Tout cela est expliqué dans le lien.
Je ne sais pas si c'est la bonne méthode pour le PureBasic, par contre.