Boubousik
Messages postés15Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention19 janvier 2005
-
11 juin 2003 à 11:54
zied_sfax
Messages postés2Date d'inscriptionlundi 21 mars 2005StatutMembreDernière intervention27 avril 2007
-
29 juil. 2005 à 13:34
Bonjour,
Je cherche depuis deux semaines comment recuperer un numero de telephone provenant d'un telephone en vb/vba. j'aurais bien essaye avec tAPI, mais je n'y comprends rien. Alors j'ai entendu parler de MSCOMM.
J'ai donc ecrit un petit programme pour récuperer ce qui arrive sur mon port COM (le téléphone est relie a ce port), mais Input me renvoie une hcaine vide...
voici ce que j'ai ecrit:
Private Sub Form_Timer()
Dim recbuffer As String
If COM1.CommEvent = comEvReceive Then
With COM1
.CommPort = 1
.Settings = "57600,N,8,1"
.InputLen = 0
.PortOpen = True
recbuffer = .Input
MsgBox recbuffer, vbOKOnly
.PortOpen = False
End With
End If
sylric
Messages postés91Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention22 août 2003 11 juin 2003 à 14:51
Essaie ça :
Dans la sub de départ tu configures le port, puis tu l'ouvres.
Ensuite quand tu veux le lire tu utilise cette fonction, elle tente 50 fois de lire le port (tu peux changer ce chiffre si tu veux). Quand il y'a une réponse, elle paramètre la taille du buffer et le lit. Ensuite la valeur lue est retournée.
N'oublies pas de refermée le port une fois fini.
Function LitPort() as String
Dim res as String
Dim buflen as Integer
res=""
If Not COM1.PortOpen Then
LitPort = res
Exit Sub
End If
i=0
While buflen = 0 And i < 50
buflen = COM1.InBufferCount
i = i + 1
Wend
If Not buflen = 0 Then
COM1.InputLen = buflen
res = COM1.Input
End If
LitPort = res
End Function
Boubousik
Messages postés15Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention19 janvier 2005 11 juin 2003 à 15:17
Woauoa!! il y a de l'avancement, mais j'ai encore qqs problemes: res recupere bien une chaine de valeurs ' mais quand je la regarde ( dans le debuggeur ) les infos express m'affichent seulement des carres et des euros, et la fonction mle renvoie une chaine vide.... bizarre bizarre...
sylric
Messages postés91Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention22 août 2003 11 juin 2003 à 15:22
Es tu sûr des paramètres du port (vitesse, controle de flux, etc...) ?
Toute la chaine renvoyée n'est peut être pas utile, il est courant d'avoir à enlever les caractères situés après (ou avant) un caractère générique, encore faut il le connaitre !
cs_BFR
Messages postés88Date d'inscriptionmardi 30 juillet 2002StatutMembreDernière intervention 1 mars 2008 11 juin 2003 à 16:26
Info: pour les carrés se sont des caractères que windows ne peut pas lire alors il les afficher sous forme de carrés pour les voir il suffit de les mettre dans un fichioer et ouvrir se dernier en mode Dos j'ai déja eu ce probleme avec un caractère qui resemble a un double !! et que windows affiche en carre
A++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Boubousik
Messages postés15Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention19 janvier 2005 12 juin 2003 à 07:41
En fait je dois utiliser un telephone branche sur COM, et je n'ai aucune indication sur la configuration du port....
Alors j'essaie aussi via un modem....
J'ai fait un label et un bouton, et lorsque le phone sonne, je clique dessus et label.caption = chaine renvoyee. Mais c'est bizarre, il ne me renvoie que le mot ring.... comprends pas...
sylric
Messages postés91Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention22 août 2003 12 juin 2003 à 10:18
Comme le dit BFR, les carrés sont dus aux pb de conversion entre code ASCII et ANSI mais tu peux avoir leurs valeurs avec la fonction ASC().
Sans les infos pour le téléphone, ça risque d'être très dure pour bien communiquer... mais déjà je pense que les paramètres que tu as donné au début me paraissent optimistes (57600 bauds). En général, tous les téléphones, calculettes et autres petits appareils sont limités à 9600 bauds. pour les autres paramètres, il est courant d'utiliser aucune parité, 8 bits de données et un bit de stop. Ce qui nous donne, 9600,N,8,1. Cependant, c'est qu'une configuration parmis tant d'autres, sans savoir ce qu'attend ton téléphone.
Sinon pour le modem, je ne connais pas sufisament...
Boubousik
Messages postés15Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention19 janvier 2005 12 juin 2003 à 10:47
je vais essayer pour ce probleme de ASCII.... Pour le phone je vais essayer de me renseigner, et pour le modem, et le RING recu, ca pourrait peut etre venir du fait que je n'ai pas de presentation du numero de tel sur la ligne...
captaincav
Messages postés16Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention18 janvier 2006 16 oct. 2003 à 09:07
salut :)
et j'ai exactement le meme cas de figure que toi !!! Je pensais passer d'abord par le TAPI mais c'est un le bordel ce truc alors, vu que mon tel est relie au pc via le port com, je voulais interceper les infos du port com
cependant, je ne recois aucune données ou alors des choses inexploitables :/
as tu trouvé comment exploiter les signes bizarres recus ? (les carres blanc, etc)
zied_sfax
Messages postés2Date d'inscriptionlundi 21 mars 2005StatutMembreDernière intervention27 avril 2007 29 juil. 2005 à 13:34
salut,
je suis un élève ingenieur
mon email est meratunis@yahoo.fr
j'ai reussi à se connecter avec un telephone par vb (mscomm)
le problème dans le transfert des données vocaux