|
Débuté par Fritz, 15 mar. 2017 17:38 - 6 réponses |
| |
| | | |
|
| |
Membre enregistré 128 messages |
|
Posté le 15 mars 2017 - 17:38 |
Bonjour à toutes et à tous,
je rencontre un problème de conversion d'une valeur hexa "FF" vers ascii . Je m'explique :
Lorsque j' envoie avec socketecrit le valeur Caract(Val("FF","x")) avec le simulateur samsung s6, je réceptionne bien la valeur hexa "FF". Lorsque je déploie sur mon smartphone, je réceptionne la valeur Hexa "BF".
A savoir que les autres valeurs hexa sont réceptionnées à l'identique.
Auriez vous une ou plusieurs explications à me donner ? Sachant que "FF" corresponf au Form Feed mais là je ne vous apprend rien.
Cordialement
Fréédric |
| |
| |
| | | |
|
| | |
| |
Posté le 15 mars 2017 - 18:56 |
Bonjour Fritz
"FF" est une chaine. Sous le simulateur, c'est une chaine ANSI Sur la matériel, c'est une chaine UNICODE...
Déclare une variable du type PRECIS dont tu as besoin, mets ta chaine dedans, et utilise la variable.
Ou déclare que tu ne fais que de l'ansi au niveau du projet
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 3/15/2017 à 11:38 AM, Fritz a écrit :
Bonjour à toutes et à tous,
je rencontre un problème de conversion d'une valeur hexa "FF" vers ascii . Je m'explique :
Lorsque j' envoie avec socketecrit le valeur Caract(Val("FF","x")) avec le simulateur samsung s6, je réceptionne bien la valeur hexa "FF". Lorsque je déploie sur mon smartphone, je réceptionne la valeur Hexa "BF".
A savoir que les autres valeurs hexa sont réceptionnées à l'identique.
Auriez vous une ou plusieurs explications à me donner ? Sachant que "FF" corresponf au Form Feed mais là je ne vous apprend rien.
Cordialement Fréédric |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 946 messages Popularité : +102 (110 votes) |
|
Posté le 15 mars 2017 - 19:52 |
Bonsoir (ma première réponse semble ne pas être enregistrée) - pourquoi écrire Caract(Val("FF","x")) ? Caract(0xff) ne fonctionne pas ? - "Form Feed" (FF en abrégé) est codé 0x0c en hexadécimal (voir table ascii sur google) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 128 messages |
|
Posté le 16 mars 2017 - 09:35 |
Bonjour,
Merci pour vos réponses.
Pour Philippe : avec Caract(0xff) le résultat réceptionné est également "BF"
Pour Fabrice : tests effectués avec le smartphone
J'ai coché dans l'onglet configuration courante ->onglet unicode -> ansi le résultat réceptionné ,pour "13FF" envoyé, est "13BF" le résultat réceptionné ,pour "13FE" envoyé, est "13BE" le résultat réceptionné ,pour "13AF" envoyé, est "13AF"
lorsque je coche dans l'onglet configuration courante ->onglet unicode -> unicode le résultat réceptionné ,pour "13FF" envoyé, est "1300FF" le résultat réceptionné ,pour "13AF" envoyé, est "1300AF"
Voilà donc pour l'instant je cherche une solution pour palier à ce problème. Tant que mon automate n'arrive pas à réceptionner un "FF" dans la trame de connexion, il ne me répondra pas.....
Cordialement
Frédéric |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 946 messages Popularité : +102 (110 votes) |
|
Posté le 16 mars 2017 - 12:24 |
bonjour il faut envoyer "FF" (Form Feed) ou Caract(0xff) ? car se n'est pas du tout la même chose Mettez votre code et/ou lien sur la documentation du protocole de votre automate afin que l'on puisse vous aiderMessage modifié, 16 mars 2017 - 12:27 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 946 messages Popularité : +102 (110 votes) |
|
Posté le 16 mars 2017 - 13:56 |
Bonjour je viens de faire un test rapide : Serveur socket sur Seven + WD20 et portable samsung androïd + WM20 et cela fonctionne très bien Code WM
Data est une chaîne ANSI = "1234" + Caract(0xff) + "6789"
IF NOT SocketConnecte("MySocket", 5544, "192.168.1.12") THEN RETOUR Multitâche(50) IF NOT SocketEcrit("MySocket", Data) THEN Erreur(ErreurInfo(errComplet)) END Multitâche(100) SocketFerme("MySocket") et je reçois : 0x31 0x32 0x33 0x34 0xFF 0x36 0x37 0x38 0x39 ce qui correspond exactement à «Data» |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 128 messages |
|
Posté le 16 mars 2017 - 15:15 |
Pour info,
J'ai trouvé comment remédier à ce soucis :
1/ je coche dans l'onglet configuration courante ->onglet unicode -> unicode 2/ je créée une chaine : chaine_ascii est une chaine ansi 3/ puis : chaine_ascii= CaractUnicode(Val("FF","x")) 4/ j'envoie "FF" et je réceptionne "FF"
Voilà , merci pour votre aide
Cordialement
Frédéric |
| |
| |
| | | |
|
| | | | |
| | |
|