WebGadget() et récupération du code html d'une page web...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WebGadget() et récupération du code html d'une page web.

Message par PAPIPP »

@Mesa
Merci pour ce programme mais voici plus court

Code : Tout sélectionner

; English forum: http://www.purebasic.fr/english/viewtopic.php?t=14500&highlight=
; Author: Flype modif PAPIPP le 9/9/2013
; Date: 24. March 2005
; OS: Windows
; Demo: No

url$="http://www.purebasic.com"
file$="c:\urldownload.html"
If InternetGetConnectedState_(@flags,#Null)
	hResult=URLDownloadToFile_(#Null,url$,file$,#Null,#Null)
Else
	MessageRequester("Error","You are connected to internet",#MB_ICONERROR)
EndIf
RunProgram(file$)

Mais le pb que j'évoquais ci dessus est la question :
4) Question pourquoi debug utilisé dans les prg avec un webgadget donne des résultats faux alors que celui issu du dernier prg de falsam est correct
A+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: WebGadget() et récupération du code html d'une page web.

Message par nico »

Je suis désolé mais les résultats ne sont pas faux sauf que quelqu'un a dit:
Oui enfin, il faut savoir qu'on ne peut pas toujours utiliser #PB_EventType_DownloadEnd car on reçoit plusieurs évènements, cela ne fait que 5 ans que j'ai posté le problème, mais je crois que tout le monde s'en fout.
Une fois que tu as pris en compte cela, les résultats sont bons!
Les trois programmes donnent les mêmes résultats en fichier html mais pour le deux prg avec webgadget il est impossible de lancer un RunProgram("TEST_FAL.html")
C'est normal puisque tu as mis un end après #PB_Event_CloseWindow, le reste du code ne s'exécute donc pas!


Dans ton dernier code, il faut que tu remplaces ton MessageRequester par:
MessageRequester("Error","You are not connected to internet",#MB_ICONERROR)
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WebGadget() et récupération du code html d'une page web.

Message par PAPIPP »

@Nico
merci pour avoir observé ces petites erreurs.
voici le programme de falsam corrigé.

Code : Tout sélectionner

OpenConsole("resultat")
CreateFile(0,"TEST_FAL.html")
If OpenWindow(0,0,0,600,300,"WebGadget",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(1,10,10,580,280,"http://www.purebasic.com")
  
  Repeat
    Event=WaitWindowEvent()
    GEvent=EventGadget()
    TEvent=EventType()
    
    Select Event
      Case #PB_Event_Gadget
        Select GEvent
          Case 1
            Select TEvent
              Case #PB_EventType_DownloadEnd
                ;                 Delay(20)
                Resultat$=GetGadgetItemText(1,#PB_Web_HtmlCode)
                PrintN(Resultat$)
                Debug Resultat$
                WriteString(0,Resultat$,#PB_UTF8)
            EndSelect
        EndSelect
      Case #PB_Event_CloseWindow
        Break
    EndSelect
  ForEver
 EndIf 
CloseConsole()
CloseFile(0)
RunProgram("TEST_FAL.html")
End
Par contre je n'ai toujours pas d'explication sur le résultat du debug tronqué avec des points de suspensions en fin dans les deux cas d'utilisation d'un webgadget.

A+
Dernière modification par PAPIPP le lun. 09/sept./2013 23:55, modifié 1 fois.
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: WebGadget() et récupération du code html d'une page web.

Message par Backup »

PAPIPP a écrit : Par contre je n'ai toujours pas d'explication sur le résultat du debug tronqué avec des points de suspensions en fin dans les deux cas d'utilisation d'un webgadget.

A+
ben parceque le Debug n'est pas fait pour renvoyer un text trop long ..
comme le visualiseur de variable ....
il n'accepte pas non plus les Chr(10) ...

essaye en sortant sur un Requester ou un editeur ;)
Dernière modification par Backup le mar. 10/sept./2013 0:05, modifié 1 fois.
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WebGadget() et récupération du code html d'une page web.

Message par PAPIPP »

@dobro

Oui j'avais pensé aussi à cette possibilité mais le test sur le 3em prg de falsam exclu cette possibilié.
exemple :

Code : Tout sélectionner

InitNetwork()

If Not ReceiveHTTPFile("http://www.purebasic.com", "test.html")
		Debug "Ooops : Souci de réception "
		End
EndIf

If ReadFile(0, "test.html")
		While Not Eof(0)
				Debug ReadString(0)
		Wend
EndIf

;Juste pour voir
RunProgram("test.html")
OpenFile(0,"test.html",#PB_File_SharedRead )
resultat$=ReadString(0, PB_Ascii )   
; resultat$=ReadString(0, #PB_UTF8)   
Debug resultat$
CloseFile(0)

Et là le code récupéré dans le debug est complet.
A+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: WebGadget() et récupération du code html d'une page web.

Message par Backup »

faudrai que Fred se penche la dessus .. :)
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: WebGadget() et récupération du code html d'une page web.

Message par Mesa »

Quand vous trouvez un bug, merci de le poster sur le forum anglais. Ça simplifie le travail de Fred.

Mesa.
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WebGadget() et récupération du code html d'une page web.

Message par PAPIPP »

@Mesa
Merci mais c'est déjà fait
A+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: WebGadget() et récupération du code html d'une page web.

Message par nico »

Merci mais c'est déjà fait
Bravo mais il n'y a pas de bug, dans ton code le premier debug fait un affichage ligne par ligne et le second ne fait qu'afficher la première ligne soit "<HTML>.

Cela n'a rien avoir avec ce qu'a dit Dobro, le nombre de caractères par ligne dans le debugger est limité ainsi d'ailleurs que le nombre de lignes.

Je vois que tu ne réfléchis pas beaucoup et que tu ne prends même pas la peine de debugger dix lignes de prog pour constater les problèmes.
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WebGadget() et récupération du code html d'une page web.

Message par PAPIPP »

@Nico
Je ne comprends pas et je n'ai jamais compris le ton agressif lorsque l'on parle technique.
Il est très facile d'argumenter.
Par ailleurs la tolérance devrait être la première qualité de ce forum
Enfin pour clore le débat voici la réponse de FRED
http://www.purebasic.fr/english/viewto ... 4&t=56561
Fixed.
Il y a bien un bug
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Avatar de l’utilisateur
falsam
Messages : 7320
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WebGadget() et récupération du code html d'une page web.

Message par falsam »

Bonjour Papipp et merci d'avoir poster ce bug sur le forum anglais :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: WebGadget() et récupération du code html d'une page web.

Message par Backup »

Fatigué Nico ? :mrgreen:
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: WebGadget() et récupération du code html d'une page web.

Message par nico »

Il y a bien un bug
Peux t'on savoir au moment où t'as découvert le bug, de quelle version de PureBasic, il s'agissait; la version 5.11 ou la version 5.20?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: WebGadget() et récupération du code html d'une page web.

Message par nico »

Bon je répond, la 5.11 utilise pour debugger une Listbox (ListViewGadget) dont le contenu total ne peut pas dépasser 64 kilobytes, voir ici:
http://msdn.microsoft.com/en-us/library/ms997541.aspx
Ce qui signifie que même si tu pouvais afficher en une seule ligne un texte de 64 Kbyte, tu ne pourrais plus rien debugger par la suite car tu aurais atteint la limite de Window pour ce contrôle. Donc d'où la nécessité de limiter le nombre de caractère par ligne!

Dans la version 5.20 Bêta 18, Fred utilise un Rich Edit Control (EditorGadget) qui prend en compte les retours chariots, ce qui fait que le debugger n'aura que très rarement besoin d'afficher de longs textes sur une seule ligne ce qui n'est pas le cas pour la Listbox car il n'y aura jamais de retour à la ligne.

Les limites de l'EditorGadget:
Un total de 64000 caractères
Le nombre de caractères par ligne, je ne l'ai pas trouvé mais pour ce qui du debugger de Purebasic, il serait pour l'instant de 4027

Il y a en effet, un problème de tronquage de texte mais dans la version 5.20 et pas dans la version 5.11 comme expliqué plus haut; donc si ta découvert le bug dans la version bêta de PureBasic, merci de spécifier sur quelle version tu travailles (c'est auusi valable sur le report de bug dans la section bug du forum anglais) car par défaut on parle de la dernière version officielle de Purebasic . Si tu as découvert le bug avec la version 5.11, saches que tu as eu un sacré coup de bol car comme expliqué plus haut, le debugger à été complètement réécrit et n'est pas le même que les versions précédentes, c'est une des nouveautés de cette version. Fred a testé ton code sur la 5.20 et a constaté un problème réel mais sans rapport direct avec l'affichage sur une Listbox puisque c'est un Rich Edit maintenant.

Alors si je peux paraître désagréable, c'est que tu ne prends pas le temps de lire et de tester et tu t'embarques dans des raisonnements infondés et fausses malgré mes tentatives d'explications.

[Post mise à jour à 21H49]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: WebGadget() et récupération du code html d'une page web.

Message par Backup »

nico a écrit : Il y a en effet, un problème de tronquage de texte mais dans la version 5.20 et pas dans la version 5.11 comme expliqué plus haut;
si ! il y a un tronquage en v 5.11 ...

la preuve :

Image

je te l'ai bien entouré en rouge pour ne pas que tu loupe le tronquage "[...]"
en regardant en haut de l'image tu verra que EPB est bien sous Purebasic V 5.11
Répondre