VB et HTML

Résolu
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013 - 23 déc. 2009 à 19:21
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013 - 23 janv. 2010 à 15:47
Bonsoir,

étant un fanatique de la navigation Web et ayant déjà commencé le socle de mon projet (navigateur Web freeware/opensource), je sèche sur comment décoder les balises HTML.

J'aimerais donc savoir comment "détecter" une balise, reconnaître ce qu'elle veut faire, et lire ses paramètres.

J'ai réfléchi là-dessus depuis bientôt 4 jours, mais n'y arrivant pas, je fais donc appel à vos connaissances sur le domaine de la lecture des offsets, streams, etc. :)

D'autre part j'aimerais savoir comment reconnaître l'extension d'un fichier spécifié dans la barre de navigation par l'utilisateur pour le lui proposer en téléchargement, si possible extraire son nom.

Merci d'avance et A+.

(PS: je suis utopiste... Ne soyez pas surpris si ce que je demande est extrêmement dur...)

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 déc. 2009 à 19:51
salut,

euh... ne le prend pas mal (par rapport à ton PS) mais c'est plutôt l'inverse : justement parce que c'est extrêmement simple que les questions sont étranges...

4 jours pour découper une chaine depuis des ""
lire un stream alors qu'il n'y a pas de fichier réel?

ton projet utilisera-t-il le webbrowser ?
oui = > alors pas besoin des balises
non => alors le projet est trop gros s'il te faut déjà 4 jours pour ces questions

balises => découper soit chaque balise (chaine.indexof), soit par regexp (sans doute bien plus approprié), mais il ne faut pas oublier les fichiers liés (.js, .css, tous les embed et.. tous ceux que j'oublie ^^)

extension => chaine.indexof(".") puis la gauche jusqu'au "?" s'il y a (.contains, .indexof(0,n))

téléchargement => pas dans la barre d'outil, le fichier peut même ne pas exister et peu de sites sont encore statiques donc de toute façon c'est l'enregistrement de l'affichage qui serait intéressant à la limite


la lecture des normes W3C peut aussi t'aider à comprendre le fonctionnement

bonne chance

[hr]
3
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013
23 déc. 2009 à 19:59
Re,

Merci pour tes conseils :)
Je vais essayer dès maintenant.

Sinon, j'ai en effet besoin de balises, car je n'utilise pas le contrôle WebBrowser (trop facile) je code tout moi-même à la main !

lire un stream alors qu'il n'y a pas de fichier réel?

Si, j'enregistre le fichier principal du site sur le disque dur dans un dossier nommé "Cache" sous le nom TMP.HTML. Tout le code est là-dedans :)
(Valider l'existance d'INDEX.HTML sur le serveur > Téléchargement > Lecture dans la fenêtre)
En fait, mon explorateur marche (on peut naviguer sur des sites) MAIS il ne décode rien... Sinon, j'ai fait quasiment tout le reste (options, envoyer mail, etc.) c'est ce que j'ai fait aussi durant ces quatre jours, je te rassure :)

A+ et encore merci, PCPT ;)
Matthias
0
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013
17 janv. 2010 à 13:27
Re,
ça y est, je peux lire les balises :)
Grâce à un code, je lis tout ce qu'il y a entre des < et des >, comme dit plus haut.

Mais malgré le ELSE mis, le texte des pages n'est pas affiché.
(J'ai essayé de lire tout ce qui était entre > et <, mais le programme se
bloquait :'( )
Aussi, malgré la lecture des balises, les pages HTML sont nullement décodées...
On voit juste des balises de la source de la page sous forme de label (celles non prises en charge ou ignorées), et si on change de page, alors là y'a plus rien, le render est tout blanc, même si je reviens à la page qui affichait bien les labels... Bug étrange lol

Sinon les options sont bonnes. On peut voir les sources, rafraîchir la page,
stopper le chargement (ça bugge un peu mais ça marche bien), accéder à la page de démarrage, plein-écran, envoyer des mails, créer/charger des favoris... Bref, des trucs rippés sur d'autres explorateurs Web
Mais tout ça est inutile, si on ne peut rien voir...

J'ai travaillé sur la fonction Précédent/Suivant mais ça marche tellement mal que
je préfère ne pas en parler (Enfin en gros, Précédent marche pas mal, mais Suivant
fait planter le programme), il y a aussi un tutoriel que je suis en train de préparer.

Autrement j'ai essayé de faire des messages d'erreurs comme sous Firefox, mais c'est
pas super et j'ai supprimé la fonction lol

Voilà, sinon j'ai abandonné le projet pour l'instant.
Je vais sans doute reprendre, car tout travail inachevé est mauvais travail lol

Si qqun veut une beta qu'il me fasse signe, je la lui donnerai en MP
Et en dernier, si jamais le moteur marche ne serait-ce que pour afficher correctement un seul code HTML valide, je donnerai un nom lui convenant: NullMotor v0.1 lol
Pour l'instant il est en Alpha 0.0...

A+,
Matthias
0
DxShadow Messages postés 69 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 12 mai 2013
23 janv. 2010 à 15:47
Re,

je l'ai repris :)

Nouvelles fonctionnalités ajoutées:
- Balises de mise en forme (b, i u, s)
- Balises de police FONT (Récupération de la couleur pour le moment seulement :\ et ça ne marche pas encore)
- Liens (je manipule encore mal la fonction AddHandler mais le code est BIEN MIEUX que l'ancien!!!)
- Texte de la page avant il n'était pas affiché. Maintenant, les pages non-complexes ont du texte affiché
- Balise partiellement prise en charge
- Images des pages légèrement débuggé (ne marche pas pour le moment)
- Optimisation de l'affichage du texte de la page (suite à un mauvais code, il est désoptimisé )
- Balises ignorées ou non-prises en charge PLUS affichées

Anciennes nouveautés:
- Orientation du texte (left, center, right)
- Balises ignorées ou non prises en charge affichées
- Liens partiellement supportés (code très mauvais)
- Balise NOBR
- Commentaires
- Balise BR
- URLs about

Tout ce texte parle du décodage Web. Je n'ai pas trop modifié les options, sauf ajouté un bouton pour fermer la page en mode plein-écran et amélioré le dégradé de la barre d'outils. Je prévois de refaire à neuf le design, ou encore changer la manière de décoder le Web qui est foireuse et inoptimisée (plutôt lire caractère par caractère). Cependant, les balises ne sont que très peu prises en charge, seule la couleur est décodée, ET ENCORE... ça bugge:

Je lis le texte entre la dièse et les guillemets:
Je récupère parfaitement. En revanche:
Dim FONTCOLOR As Color
FONTCOLOR = Color.FromArgb(r & g & b)

Bugge. Même FONTCOLOR = Color.FromArgb(255, r, g, b) ne marche pas :'(
J'ai besoin d'aide ici. Je cherche depuis actuellement deux heures.

Autrement, les liens hypertextes ne sont pas cliquables et il y a bien d'autres bugs et surtout LACUNES...
En gros, aucune beta avant longtemps :\

A+,
Matthias
0
Rejoignez-nous