EXEMPLE POUR FAIRE UN CHAT AVEC UN WEBBROWSER.

Signaler
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21391-exemple-pour-faire-un-chat-avec-un-webbrowser

Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010

Bonne initiative pour les newbies.
En plus un WebBrower est assez puissant pour gérer les images, textes en couleur...
Il ne manque plus que le systeme de chat (WinSock) ^^
Messages postés
21
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
2 février 2009

Bonjour c'est pas mal et meme tres utile mais sa fonctionne comment car si il y a que toi qui parle sa sert a rien,demain je publie ma premiere source j'ai mi un an pour la faire c'est un navigateur web et je panse que je vais rajouter ta source dans mon navigateur pour la version 2 si tu me donne ton autorisation.

PS:ne vous moquer pas quand je dis que j'ai mie 1ans j'ai que 12ans alors bon
Messages postés
14819
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 septembre 2021
156
Bonjour,

Je suis tombé par hasard sur cette source, bien qu'étant un peu ancienne et en 2002/2003, j'ai quelques remarques :

- AxInterop.MSWinsockLib.dll : peut être remplacée pas System.Net.Sockets.*
- AxInterop.SHDocVw.dll : Que fait-elle ?
- Quelques noms par défauts qui devrait être changé pour une relecture plus facile (ManuItem#, c'est pas très clair)
- Quelques améliorations :

# Private Sub Couleure_Nick()
#
# Dim r, v, b As String
# r = CStr(Hex(ColR.Value))
# v = CStr(Hex(ColV.Value))
# b = CStr(Hex(ColB.Value))# If Len(r) 1 Then r "0" & r# If Len(v) 1 Then v "0" & v# If Len(b) 1 Then b "0" & b

Peut devenir :
# Private Sub Couleure_Nick()
#
# Dim r, v, b As String
# r = right("0"+ Hex(ColR.Value),2) 'Ou Hex(ColR.Value).Padleft(2) si supporté
# v = right("0"+ Hex(ColV.Value),2) 'Ou Hex(ColV.Value).Padleft(2) si supporté
# b = right("0"+ Hex(ColB.Value),2) 'Ou Hex(ColB.Value).Padleft(2) si supporté

Voilà, pour mes remarques.
je garde ta source, l'idée d'utiliser un WebBrowser pour un affichage riche est peut être pas mal (je n'ai encore jamais tester).

Bonne continuation.
Messages postés
200
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
3 août 2004

Le webbrowser c'est presque parfait en effet pour un tchat, pour mon client tchat caramail sur : http://board.quick-web.com/?login=tr0piiic

voici les problemes que j'ai eu cependant :

- apres trop de lignes (html), si vous mettez du javascript comme j'ai fais (infobulle javascript pour asv cara etc ... ca commence a ramer a s'afficher le javascript en bas de page), j'ai donc du faire bcp d'optimisations (et limiter le nombre de lignes en historique) mais il est tout a faire possible de nettoyer des balises DIV ! (...).

- le webbrowser est (il me semble) quelque fois buggé, genre il semble dans certains cas difficile de dire si il est vraiment ready (ou il dit l'etre sans l'etre) pour injecter du html dedans, notament si on a ouvert une fenetre modal, je crois que c'est une question d'etre synchrone ou asynchrone, moi ce que j'ai du faire, c'est injecter du html et en cas d'erreur, faire un doevents et/ou recommencer, car meme document complet ne donnait pas son etat ready, notament quand le webbrowser travaille, genre vous changez de salon, et vous aviez dans mon tchat 180 lignes html d'afficher, le temps que ca nettoye etc ... c'est assez bizarre et avec un antivirus ou pc lent, le webbrowser ramait, et les etats du webbrowser encore une fois etaient durs a interpreter.

- LE GROS HIC du tchat c'est :

imaginez quelqu'un tapant une longue suite de caracteres comme aaaaa...aaaaa (sur 186 caracteres) il est IMPOSSIBLE de forcer le retour a la ligne comme c'est le cas quand le texte touche le bord de droite d'un webbrowser.
Des solutions, elles existent, je pourrais les expliquer, et dire celle que j'ai utiliser, mais bon suis pas sur que ca interesse quelqu'un.

A pluche.
Afficher les 6 commentaires