cs_jipef
Messages postés55Date d'inscriptionlundi 23 août 2004StatutMembreDernière intervention 1 août 2008
-
28 août 2004 à 13:44
nquere
Messages postés17Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention21 mars 2006
-
10 sept. 2004 à 10:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
nquere
Messages postés17Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention21 mars 2006 10 sept. 2004 à 10:11
Moi ta source ne me sert pas, mais j'aime bien ton style d'écriture. C'est clair, ya des "pouets-pouets" pour faire jolie et aérré le code, pis ya pas mal de commentaire.
Pour ça, chte met 8 !
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 2 sept. 2004 à 20:46
Merci pour le lien, jipef, j'ai peut-être survolé sans m'y arrêter mais maintenant, je vais étudier la question à fond, des fois que ça me facilite la vie !
cs_jipef
Messages postés55Date d'inscriptionlundi 23 août 2004StatutMembreDernière intervention 1 août 2008 2 sept. 2004 à 12:53
logedu
Messages postés33Date d'inscriptionmercredi 26 mars 2003StatutMembreDernière intervention 1 mars 2005 2 sept. 2004 à 10:50
L'envoi d'un email-test par CDO est intéressante : ça marche avec n'importe quels nom de serveur, adresses expéditeur et destinataires bidons !!!!
Et le temps de réponse me semble plus rapide que de tester un lien URL.
Mais question : comment fonctionne ce composant CDO ?
--> La propriété "cdoSMTPServer" de l'objet CDO.Configuration est
http://schemas.microsoft.com/cdo/configuration/smtpserver --> on lui donne une valeur n'importe laquelle
--> qu'est-ce que bricole alors microsoft ????
Ze_Dam
Messages postés340Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 7 juillet 2005 31 août 2004 à 10:25
petite correction dans la formule que je donne If InternetGetConnectedState(0&, 0&) etc (voir plus haut), eh ben certain ont une erreur de compilation sur cette formule, il faut dans ce cas supprimer (0&, 0&) pour régler le problème
cs_virtual
Messages postés9Date d'inscriptiondimanche 15 octobre 2000StatutMembreDernière intervention31 août 2004 31 août 2004 à 06:46
J'ai vraiment fait fort dans le source (des Scies-Dément ;)
Vraiment Désolé je reposte un X ièmes fois:
'******************
Public Function Acces_Internet() As Boolean
Dim ret As String
On Error Resume Next
With frmBrowser.Inet1
.AccessType = icUseDefault
.OpenURL "http://www.google.com"
ret = .GetHeader("Server")
.Cancel
If InStr(1, ret, "GWS", 1) Then
Acces_Internet = True
Else
.AccessType = icUseDefault
.OpenURL "http://www.microsoft.com"
ret = .GetHeader("Server")
.Cancel
If InStr(1, ret, "Microsoft", 1) Then
Acces_Internet = True
Else
Acces_Internet = False
End If
End If
End With
End Function
'**********************
cs_virtual
Messages postés9Date d'inscriptiondimanche 15 octobre 2000StatutMembreDernière intervention31 août 2004 31 août 2004 à 05:42
Désolé Je reprens la première phrase :
J'ai remarqué que le temps de latence de google est plus court et repose sur serveur propriétaire GWS 2.1.
Sinon, Remplacé google.com par un site moins stable mais avec un court temps de latence ,Votre ISP par example! Au pire ont verifie microsoft.com (plus long)
cs_virtual
Messages postés9Date d'inscriptiondimanche 15 octobre 2000StatutMembreDernière intervention31 août 2004 31 août 2004 à 05:37
Juste une sugestion !
j'ai remarqué que le temps de latence de google est plus court et le repose sur serveur propriétaire GWS 2.1
ou remplacé par un site moin stable mais avec un court temps de latence ,Votre ISP par example au pire ont verifie microsoft.com (plus long)
'*************************************
Public Function Acces_Internet() As Boolean
Dim ret As String
If InStr(1, ret, "Microsoft", 1) Then
Acces_Internet = True
Else
Acces_Internet = False
End If
End If
End With
End Function
'************************************
PS.:
Pouquoi utilisé un long, ou pire un string ou un variant comme réponse à une fonction Booléenne(oui/non=Boolean), c'est une habitude que je remarque de plus en plus ici , juste un petit rappel Sans être casse-pied:
On est pas obligé d'être aussi gourmand que microsoft ;-)
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 30 août 2004 à 19:36
Pour AOL, je ne sais pas les nouvelles versions mais au moins jusqu'à la version 7 (ils sont à 9 maintenant ?) leur interface reposait sur IE. Perso, j'ai laissé tomber AOL depuis le flop du RTC pseudo illimité à 99FF. Maintenant, essaie quand même le code avec le composant inet, ç'est indépendant du navigateur donc ça devrait fonctionner.
Sinon, en cherchant bien, ici ou avec google, tu devrais trouver facilement des spés d'AOL.
Ze_Dam
Messages postés340Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 7 juillet 2005 30 août 2004 à 11:13
ben c que le code de CanisLupus est très bien aussi, sauf qu'il n'a pas besion de timer, de flag, mais juste le composant Inet et c très bien comme ca
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005 29 août 2004 à 23:37
pourquoi ne pas se contenter d'un oscket, un timer et un flag ??
supposons que l'element declencheur soit un bouton :
sub boutonclick()
flag=false
sck.connect "www.microsoft.com"
start_timer
end sub
sck_connect()
flag=true
sck.close
end sub
timer_timer()
if flag=true then msgbox"connecte"
else msgbox "deconnecte"
end sub
voila pour les grandes lignes ....
perso je cherche un code pour faire la meme chose, mais special AOL, alors si quelqu'un sait i il y a une possibilite de chopper l'etat de connection du soft d'aol .... :-)
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005 29 août 2004 à 23:37
pourquoi ne pas se contenter d'un oscket, un timer et un flag ??
supposons que l'element declencheur soit un bouton :
sub boutonclick()
flag=false
sck.connect "www.microsoft.com"
start_timer
end sub
sck_connect()
flag=true
sck.close
end sub
timer_timer()
if flag=true then msgbox"connecte"
else msgbox "deconnecte"
end sub
voila pour les grandes lignes ....
perso je cherche un code pour faire la meme chose, mais special AOL, alors si quelqu'un sait i il y a une possibilite de chopper l'etat de connection du soft d'aol .... :-)
Ze_Dam
Messages postés340Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 7 juillet 2005 28 août 2004 à 19:12
ok CanisLupus, merci pour les infos
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 28 août 2004 à 19:05
Ben non, Ze_Dam, tu ne te gourres pas. L'essentiel est que le site ne change pas trop souvent d'hébergeur et qu'il ait un bon temps de réponse. Cela n'est pas forcément lié à l'importance du site et/ou à sa fréquentation mais plutôt avec sa capacité à gérer un grand nombre de connexions simultanées. C'est pourquoi j'ai choisi microsoft.com mais tu peux choisir un des principaux FAI ou n'importe quel autre hébergeur.
En cas de problème, on peut même insérer un test au cas où le header du serveur change.
Comme ce code fonctionne depuis déjà un bon moment avec succès (près de 4 ans), je n'ai pas jugé utile de trouver une autre solution. Mais, j'imagine qu'une adaptation du PING (sous dos) peut être envisageable.
Ze_Dam
Messages postés340Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 7 juillet 2005 28 août 2004 à 18:22
dans ces cas là oui, en effet, l'API que j'utilise n'a aucune utilité. Mais pour un particulier, pas de réseau, d'intranet, l'API fonctionne très bien et se fait aussi très discrette dans le code. Mais une petite question, ne serait-ce pas mieux de pointer sur un site Web moins occupé, mais dont ôn est sûr qu'il reste là pourtant. Je m'explique, se connecter sur un site plus charger (tel vbfrance) serait ptet plus lent que de se connecter sur un plus petit site ??? ou je me goure complètement ???
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 28 août 2004 à 18:14
Sauf qu'en entreprise, Ze_Dam, InternetGetConnectedState te renvoie vrai même si tu n'as qu'un intranet sans accès réel internet. J'ai testé chez moi et, même avec la freebox débranchée, ton API me dit que je suis connecté à Internet (faut dire aussi que j'ai un réseau local).
Autre exemple, dans ma boîte, tout le monde a une adresse e-mail ouverte sur l'extérieur et a accès à l'intranet mais seuls quelques uns ont un véritable accès Internet (c à d vers l'extérieur de la boîte). C'est le proxy qui gère ça. Donc, pour savoir si un PC peut se connecter ou non à l'Internet, j'avais trouvé le code suivant avec un composant Inet.
' ----------------------------------
' DETECTION SI ACCES INTERNET VALIDE
' ----------------------------------
Function Acces_Internet() As String
Dim ret
Acces_Internet = "KO"
On Error Resume Next
Form1.Inet1.AccessType = icUseDefault
Form1.Inet1.OpenURL "http://www.microsoft.com"
ret = Form1.Inet1.GetHeader("Server")
Form1.Inet1.Cancel
If InStr(1, ret, "Microsoft", 1) Then
Acces_Internet = "OK"
End If
End Function
Je pense que c'est de ça dont s'est inspiré jipef. Le principe est simple, on tente de lire le header d'un site Internet (tu peux prendre autre chose que Microsoft, par ex vbfrance, quoiqu'il faut savoir ce qu'il y a dans le header). C'est tout bête, si le serveur te répond tu as un accès à ce serveur sinon tu es unplug. Ca fait 2/3 lignes de code de plus que l'API mais c'est plus fiable.
Tiens, je mets un 10, pas parce que jipef m'a cité mais parce qu'il en a trouvé une utilisation intéressante.
Ze_Dam
Messages postés340Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 7 juillet 2005 28 août 2004 à 14:40
nom de dieu mais quel code de fous pour tester si on est connecté à internet ou pas. il faut utiliser la bonne api et tout va bien les gars
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
If InternetGetConnectedState(0&, 0&) Then
MsgBox "Vous êtes connecté à Internet" Else
MsgBox "Vous n'êtes pas connecté à Internet"
Et voilà elle est pas plus belle la vie ??????
cs_jipef
Messages postés55Date d'inscriptionlundi 23 août 2004StatutMembreDernière intervention 1 août 2008 28 août 2004 à 13:44
je viens de trouver le code de CaniLupus c'est excellent et je l'ai intégré de suite
je cherche un moyen simple de tester si j'ai des messages qui sont arrivés avec un sujet de mon choix
actuellement je fais avec WinDev mais çca ne me plait pas dans la mesure où mon applic est en VB6
10 sept. 2004 à 10:11
Pour ça, chte met 8 !
2 sept. 2004 à 20:46
2 sept. 2004 à 12:53
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncdo121/html/collabdataobjs.asp
2 sept. 2004 à 10:50
Et le temps de réponse me semble plus rapide que de tester un lien URL.
Mais question : comment fonctionne ce composant CDO ?
--> La propriété "cdoSMTPServer" de l'objet CDO.Configuration est
http://schemas.microsoft.com/cdo/configuration/smtpserver
--> on lui donne une valeur n'importe laquelle
--> qu'est-ce que bricole alors microsoft ????
31 août 2004 à 10:25
31 août 2004 à 06:46
Vraiment Désolé je reposte un X ièmes fois:
'******************
Public Function Acces_Internet() As Boolean
Dim ret As String
On Error Resume Next
With frmBrowser.Inet1
.AccessType = icUseDefault
.OpenURL "http://www.google.com"
ret = .GetHeader("Server")
.Cancel
If InStr(1, ret, "GWS", 1) Then
Acces_Internet = True
Else
.AccessType = icUseDefault
.OpenURL "http://www.microsoft.com"
ret = .GetHeader("Server")
.Cancel
If InStr(1, ret, "Microsoft", 1) Then
Acces_Internet = True
Else
Acces_Internet = False
End If
End If
End With
End Function
'**********************
31 août 2004 à 05:42
J'ai remarqué que le temps de latence de google est plus court et repose sur serveur propriétaire GWS 2.1.
Sinon, Remplacé google.com par un site moins stable mais avec un court temps de latence ,Votre ISP par example! Au pire ont verifie microsoft.com (plus long)
31 août 2004 à 05:37
j'ai remarqué que le temps de latence de google est plus court et le repose sur serveur propriétaire GWS 2.1
ou remplacé par un site moin stable mais avec un court temps de latence ,Votre ISP par example au pire ont verifie microsoft.com (plus long)
'*************************************
Public Function Acces_Internet() As Boolean
Dim ret As String
On Error Resume Next
With frmBrowser.Inet1
.AccessType = icUseDefault
.OpenURL "http://www.google.com"
.Inet1.GetHeader ("Server")
.Inet1.Cancel
If InStr(1, ret, "GWS", 1) Then
Acces_Internet = True
Else
.Inet1.AccessType = icUseDefault
.OpenURL "http://www.microsoft.com"
.Inet1.GetHeader ("Server")
.Inet1.Cancel
If InStr(1, ret, "Microsoft", 1) Then
Acces_Internet = True
Else
Acces_Internet = False
End If
End If
End With
End Function
'************************************
PS.:
Pouquoi utilisé un long, ou pire un string ou un variant comme réponse à une fonction Booléenne(oui/non=Boolean), c'est une habitude que je remarque de plus en plus ici , juste un petit rappel Sans être casse-pied:
Type Stockage
Byte 1 octet
Integer 2 octets
Boolean 2 octets
Long 4 octets
Single 4 octets
Double 8 octets
Currency 8 octets
Date 8 octets
Decimal 12 octets
String (fixe) Long. de chaîne
String (variable) Long. + 10 octets
Variant (numérique) 16 octets
Variant (texte) Long. + 22 octets
On est pas obligé d'être aussi gourmand que microsoft ;-)
30 août 2004 à 19:36
Sinon, en cherchant bien, ici ou avec google, tu devrais trouver facilement des spés d'AOL.
30 août 2004 à 11:13
29 août 2004 à 23:37
supposons que l'element declencheur soit un bouton :
sub boutonclick()
flag=false
sck.connect "www.microsoft.com"
start_timer
end sub
sck_connect()
flag=true
sck.close
end sub
timer_timer()
if flag=true then msgbox"connecte"
else msgbox "deconnecte"
end sub
voila pour les grandes lignes ....
perso je cherche un code pour faire la meme chose, mais special AOL, alors si quelqu'un sait i il y a une possibilite de chopper l'etat de connection du soft d'aol .... :-)
29 août 2004 à 23:37
supposons que l'element declencheur soit un bouton :
sub boutonclick()
flag=false
sck.connect "www.microsoft.com"
start_timer
end sub
sck_connect()
flag=true
sck.close
end sub
timer_timer()
if flag=true then msgbox"connecte"
else msgbox "deconnecte"
end sub
voila pour les grandes lignes ....
perso je cherche un code pour faire la meme chose, mais special AOL, alors si quelqu'un sait i il y a une possibilite de chopper l'etat de connection du soft d'aol .... :-)
28 août 2004 à 19:12
28 août 2004 à 19:05
En cas de problème, on peut même insérer un test au cas où le header du serveur change.
Comme ce code fonctionne depuis déjà un bon moment avec succès (près de 4 ans), je n'ai pas jugé utile de trouver une autre solution. Mais, j'imagine qu'une adaptation du PING (sous dos) peut être envisageable.
28 août 2004 à 18:22
28 août 2004 à 18:14
Autre exemple, dans ma boîte, tout le monde a une adresse e-mail ouverte sur l'extérieur et a accès à l'intranet mais seuls quelques uns ont un véritable accès Internet (c à d vers l'extérieur de la boîte). C'est le proxy qui gère ça. Donc, pour savoir si un PC peut se connecter ou non à l'Internet, j'avais trouvé le code suivant avec un composant Inet.
' ----------------------------------
' DETECTION SI ACCES INTERNET VALIDE
' ----------------------------------
Function Acces_Internet() As String
Dim ret
Acces_Internet = "KO"
On Error Resume Next
Form1.Inet1.AccessType = icUseDefault
Form1.Inet1.OpenURL "http://www.microsoft.com"
ret = Form1.Inet1.GetHeader("Server")
Form1.Inet1.Cancel
If InStr(1, ret, "Microsoft", 1) Then
Acces_Internet = "OK"
End If
End Function
Je pense que c'est de ça dont s'est inspiré jipef. Le principe est simple, on tente de lire le header d'un site Internet (tu peux prendre autre chose que Microsoft, par ex vbfrance, quoiqu'il faut savoir ce qu'il y a dans le header). C'est tout bête, si le serveur te répond tu as un accès à ce serveur sinon tu es unplug. Ca fait 2/3 lignes de code de plus que l'API mais c'est plus fiable.
Tiens, je mets un 10, pas parce que jipef m'a cité mais parce qu'il en a trouvé une utilisation intéressante.
28 août 2004 à 14:40
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
If InternetGetConnectedState(0&, 0&) Then
MsgBox "Vous êtes connecté à Internet" Else
MsgBox "Vous n'êtes pas connecté à Internet"
Et voilà elle est pas plus belle la vie ??????
28 août 2004 à 13:44
je cherche un moyen simple de tester si j'ai des messages qui sont arrivés avec un sujet de mon choix
actuellement je fais avec WinDev mais çca ne me plait pas dans la mesure où mon applic est en VB6
a vous lire