j'ai un gros probleme et je n'arrive pas à m'en sortir.
Quelqu'un sait si il existes des composants vb6 adaptés à ce gendre de cas ?
Merci beaucoup a tous.
Je recoit une chaine de caractere comprenant de nombreux champs.
Il y a une premiere partie où les champs se suivent dans un ordre défini.
Certains champs ont une taille défini (int long etc...) et c'est donc
facile de les retrouver.
Mais d'un seul coup, au milieu, il y a des champs textes de taille
variable finissant par un 0 et j'ai vraiment du mal à retirer ces champs
de la chaine et surtout, en sortant de ce champs de savoir où j'en suis
avec mes champs à longueur fixe.
Et pour finir, une fois que tous les champps dans l'ordre sont passé, il
y a un certain nombre de champs dans le désordre au format TLV (type
longueur valeur par exemple pour un champs contenant TEST dont le type
est 5 on trouve dans la chaine 0504TEST)
je suis certain que ce genre de décodage est courant mais j'ai eu beau
chercher sur le net je n'ai trouvé aucun composant vb6 compatible.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Philippot
Bonjour,
Il me semble que l'utilisation d'expressions régulières devrait résoudre le problème. Il n'y a pas de support pour les expressions régulière dans VB6 mais vous pouvez ajouter une référence à Microsoft VBScript Regular Expressions dans votre projet.
Ceci étant, selon la spécification de votre format de chaîne, les expressions régulières peuvent ne pas couvrir tous les cas possibles. Il faudrait voir cette spécification pour être plus précis. Dans ce cas, il faudra s'engager dans la voie du parsing: définir une grammaire et analyser le texte avec un parseur généré à partir de cette grammaire. C'est une activité beaucoup plus complexe.
Je pense que dans votre cas, il y a de bonnes chances pour que les expressions régulières suffisent.
L'alternative étant bien sûr d'écrire un code d'analyse spécifique.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Bonjour,
Il me semble que l'utilisation d'expressions régulières devrait résoudre
le problème. Il n'y a pas de support pour les expressions régulière dans
VB6 mais vous pouvez ajouter une référence à Microsoft VBScript Regular
Expressions dans votre projet.
Ceci étant, selon la spécification de votre format de chaîne, les
expressions régulières peuvent ne pas couvrir tous les cas possibles. Il
faudrait voir cette spécification pour être plus précis. Dans ce cas, il
faudra s'engager dans la voie du parsing: définir une grammaire et
analyser le texte avec un parseur généré à partir de cette grammaire.
C'est une activité beaucoup plus complexe.
Je pense que dans votre cas, il y a de bonnes chances pour que les
expressions régulières suffisent.
L'alternative étant bien sûr d'écrire un code d'analyse spécifique.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Il me semble que l'utilisation d'expressions régulières devrait résoudre le problème. Il n'y a pas de support pour les expressions régulière dans VB6 mais vous pouvez ajouter une référence à Microsoft VBScript Regular Expressions dans votre projet.
Ceci étant, selon la spécification de votre format de chaîne, les expressions régulières peuvent ne pas couvrir tous les cas possibles. Il faudrait voir cette spécification pour être plus précis. Dans ce cas, il faudra s'engager dans la voie du parsing: définir une grammaire et analyser le texte avec un parseur généré à partir de cette grammaire. C'est une activité beaucoup plus complexe.
Je pense que dans votre cas, il y a de bonnes chances pour que les expressions régulières suffisent.
L'alternative étant bien sûr d'écrire un code d'analyse spécifique.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
andre.araste
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides connaissances en manipulation des chaînes de caractères qui fleurent bon le basic sous DOS
Left$ - Right$ - Mid$ - Str$ Instr$ etc ....
Il faut également rechercher le mode de lecture qui correspondrait au plus juste au mode d'écriture des données. -- Bonne réception.
http://perso.wanadoo.fr/andre.araste/ Membre du Club Win's: http://www.clubwins.org Avertissement: Je ne vends rien.
"mobilom" a écrit dans le message de news:
Bonjour a tous.
j'ai un gros probleme et je n'arrive pas à m'en sortir.
Quelqu'un sait si il existes des composants vb6 adaptés à ce gendre de cas ?
Merci beaucoup a tous.
Je recoit une chaine de caractere comprenant de nombreux champs.
Il y a une premiere partie où les champs se suivent dans un ordre défini.
Certains champs ont une taille défini (int long etc...) et c'est donc facile de les retrouver.
Mais d'un seul coup, au milieu, il y a des champs textes de taille variable finissant par un 0 et j'ai vraiment du mal à retirer ces champs de la chaine et surtout, en sortant de ce champs de savoir où j'en suis avec mes champs à longueur fixe.
Et pour finir, une fois que tous les champps dans l'ordre sont passé, il y a un certain nombre de champs dans le désordre au format TLV (type longueur valeur par exemple pour un champs contenant TEST dont le type est 5 on trouve dans la chaine 0504TEST)
je suis certain que ce genre de décodage est courant mais j'ai eu beau chercher sur le net je n'ai trouvé aucun composant vb6 compatible.
Savez vous où chercher ?
Merci.
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
connaissances en manipulation des chaînes de caractères qui fleurent bon le
basic sous DOS
Left$ - Right$ - Mid$ - Str$ Instr$ etc ....
Il faut également rechercher le mode de lecture qui correspondrait au plus
juste au mode d'écriture des données.
--
Bonne réception.
andre.araste@wanadoo.fr
http://perso.wanadoo.fr/andre.araste/
Membre du Club Win's: http://www.clubwins.org
Avertissement: Je ne vends rien.
"mobilom" <mobilom@nospam.fr> a écrit dans le message de news:
42E45D8B.50104@nospam.fr...
Bonjour a tous.
j'ai un gros probleme et je n'arrive pas à m'en sortir.
Quelqu'un sait si il existes des composants vb6 adaptés à ce gendre de cas
?
Merci beaucoup a tous.
Je recoit une chaine de caractere comprenant de nombreux champs.
Il y a une premiere partie où les champs se suivent dans un ordre défini.
Certains champs ont une taille défini (int long etc...) et c'est donc
facile de les retrouver.
Mais d'un seul coup, au milieu, il y a des champs textes de taille
variable finissant par un 0 et j'ai vraiment du mal à retirer ces champs
de la chaine et surtout, en sortant de ce champs de savoir où j'en suis
avec mes champs à longueur fixe.
Et pour finir, une fois que tous les champps dans l'ordre sont passé, il y
a un certain nombre de champs dans le désordre au format TLV (type
longueur valeur par exemple pour un champs contenant TEST dont le type
est 5 on trouve dans la chaine 0504TEST)
je suis certain que ce genre de décodage est courant mais j'ai eu beau
chercher sur le net je n'ai trouvé aucun composant vb6 compatible.
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides connaissances en manipulation des chaînes de caractères qui fleurent bon le basic sous DOS
Left$ - Right$ - Mid$ - Str$ Instr$ etc ....
Il faut également rechercher le mode de lecture qui correspondrait au plus juste au mode d'écriture des données. -- Bonne réception.
http://perso.wanadoo.fr/andre.araste/ Membre du Club Win's: http://www.clubwins.org Avertissement: Je ne vends rien.
"mobilom" a écrit dans le message de news:
Bonjour a tous.
j'ai un gros probleme et je n'arrive pas à m'en sortir.
Quelqu'un sait si il existes des composants vb6 adaptés à ce gendre de cas ?
Merci beaucoup a tous.
Je recoit une chaine de caractere comprenant de nombreux champs.
Il y a une premiere partie où les champs se suivent dans un ordre défini.
Certains champs ont une taille défini (int long etc...) et c'est donc facile de les retrouver.
Mais d'un seul coup, au milieu, il y a des champs textes de taille variable finissant par un 0 et j'ai vraiment du mal à retirer ces champs de la chaine et surtout, en sortant de ce champs de savoir où j'en suis avec mes champs à longueur fixe.
Et pour finir, une fois que tous les champps dans l'ordre sont passé, il y a un certain nombre de champs dans le désordre au format TLV (type longueur valeur par exemple pour un champs contenant TEST dont le type est 5 on trouve dans la chaine 0504TEST)
je suis certain que ce genre de décodage est courant mais j'ai eu beau chercher sur le net je n'ai trouvé aucun composant vb6 compatible.
Savez vous où chercher ?
Merci.
mobilom
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
connaissances en manipulation des chaînes de caractères qui fleurent bon le basic sous DOS
Left$ - Right$ - Mid$ - Str$ Instr$ etc ....
Ca je connais, mais c'est compliqué.
Pour l'envoi des données, j'ai fait un type personnel du genre : Type tata toto As String * 5 titi As String tata As Byte End Type
Maintenant, je dois envoyer ca bit par bit pour le transmettre.
j'arrive pas à trouver un moyen d'acceder au premier bit de la variable test, puis au suivant, etc.... jusqu'au 13é bit de la variable.
J'arrive pas non plus à avoir la taille de la variable test.
len(test) me donne 10 une fois que la variable est remplie, alors que ca devrait me donner 13
Quelqu'un peut me dire comment faire ? En C, c'est un jeu d'enfant (on rempli la structure et on envoye chaque bit de la structure un par un du debut à la fin). Mais là, en VB6 je suis completement perdu.
Merci.
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
connaissances en manipulation des chaînes de caractères qui fleurent bon le
basic sous DOS
Left$ - Right$ - Mid$ - Str$ Instr$ etc ....
Ca je connais, mais c'est compliqué.
Pour l'envoi des données, j'ai fait un type personnel du genre :
Type tata
toto As String * 5
titi As String
tata As Byte
End Type
Maintenant, je dois envoyer ca bit par bit pour le transmettre.
j'arrive pas à trouver un moyen d'acceder au premier bit de la variable
test, puis au suivant, etc.... jusqu'au 13é bit de la variable.
J'arrive pas non plus à avoir la taille de la variable test.
len(test) me donne 10 une fois que la variable est remplie, alors que ca
devrait me donner 13
Quelqu'un peut me dire comment faire ? En C, c'est un jeu d'enfant (on
rempli la structure et on envoye chaque bit de la structure un par un du
debut à la fin). Mais là, en VB6 je suis completement perdu.
Maintenant, je dois envoyer ca bit par bit pour le transmettre.
j'arrive pas à trouver un moyen d'acceder au premier bit de la variable test, puis au suivant, etc.... jusqu'au 13é bit de la variable.
J'arrive pas non plus à avoir la taille de la variable test.
len(test) me donne 10 une fois que la variable est remplie, alors que ca devrait me donner 13
Quelqu'un peut me dire comment faire ? En C, c'est un jeu d'enfant (on rempli la structure et on envoye chaque bit de la structure un par un du debut à la fin). Mais là, en VB6 je suis completement perdu.
Merci.
Patrick Philippot
mobilom wrote:
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
Oui, je viens de vous l'indiquer. La solution proposée ne convient pas?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
mobilom wrote:
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de
solides
Mais je suis sur que ca existe.
Oui, je viens de vous l'indiquer. La solution proposée ne convient pas?
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
Oui, je viens de vous l'indiquer. La solution proposée ne convient pas?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrick Philippot
mobilom wrote:
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
Oui, j'ai déjà répondu ce matin mais sur microsoft.public.fr.vb (je ne cross-poste pas les réponses - quand vous cross-postez sur plusieurs serveurs, il faut au moins surveiller chaque serveur :-) ).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
mobilom wrote:
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de
solides
Mais je suis sur que ca existe.
Oui, j'ai déjà répondu ce matin mais sur microsoft.public.fr.vb (je ne
cross-poste pas les réponses - quand vous cross-postez sur plusieurs
serveurs, il faut au moins surveiller chaque serveur :-) ).
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
Oui, j'ai déjà répondu ce matin mais sur microsoft.public.fr.vb (je ne cross-poste pas les réponses - quand vous cross-postez sur plusieurs serveurs, il faut au moins surveiller chaque serveur :-) ).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
mobilom
Patrick Philippot a écrit:
mobilom wrote:
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
Oui, j'ai déjà répondu ce matin mais sur microsoft.public.fr.vb (je ne cross-poste pas les réponses - quand vous cross-postez sur plusieurs serveurs, il faut au moins surveiller chaque serveur :-) ).
Bonjour.
J'ai du aller voir votre message ailleurs, il n'est pa dans mpfvb sur les sevrurs de free.
En fait les regex ne peuvent rien dans mon cas.
Je suis sur qu'il doit exister des ocx specialisés das les protocoles de communications, mais en attendant j'essaye de me débrouiller :)
je bloque sur un truc (qui serait surement integré à une telle ocx).
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
J'arrive pas à trouver comment faire la conversion..
Si quelqu'un pouvait m'aider ca me rendrait vraiment service... a defaut de trouver l'ocx qui va bien.
Au passage, connaissez vous des gros sites de telechargement d'ocx ou d'activex ?
Merci.
Patrick Philippot a écrit:
mobilom wrote:
andre.araste a écrit:
Bonjour
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de
solides
Mais je suis sur que ca existe.
Oui, j'ai déjà répondu ce matin mais sur microsoft.public.fr.vb (je ne
cross-poste pas les réponses - quand vous cross-postez sur plusieurs
serveurs, il faut au moins surveiller chaque serveur :-) ).
Bonjour.
J'ai du aller voir votre message ailleurs, il n'est pa dans mpfvb sur les
sevrurs de free.
En fait les regex ne peuvent rien dans mon cas.
Je suis sur qu'il doit exister des ocx specialisés das les protocoles de
communications, mais en attendant j'essaye de me débrouiller :)
je bloque sur un truc (qui serait surement integré à une telle ocx).
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois
envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
J'arrive pas à trouver comment faire la conversion..
Si quelqu'un pouvait m'aider ca me rendrait vraiment service... a defaut de
trouver l'ocx qui va bien.
Au passage, connaissez vous des gros sites de telechargement d'ocx ou
d'activex ?
Je crois que ce n'est pas un composant VB6 qu'il vous faut mais de solides
Mais je suis sur que ca existe.
Oui, j'ai déjà répondu ce matin mais sur microsoft.public.fr.vb (je ne cross-poste pas les réponses - quand vous cross-postez sur plusieurs serveurs, il faut au moins surveiller chaque serveur :-) ).
Bonjour.
J'ai du aller voir votre message ailleurs, il n'est pa dans mpfvb sur les sevrurs de free.
En fait les regex ne peuvent rien dans mon cas.
Je suis sur qu'il doit exister des ocx specialisés das les protocoles de communications, mais en attendant j'essaye de me débrouiller :)
je bloque sur un truc (qui serait surement integré à une telle ocx).
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
J'arrive pas à trouver comment faire la conversion..
Si quelqu'un pouvait m'aider ca me rendrait vraiment service... a defaut de trouver l'ocx qui va bien.
Au passage, connaissez vous des gros sites de telechargement d'ocx ou d'activex ?
Merci.
Fred
Dans son message 42e56088$0$8528$ mobilom nous dit :
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
Oula, tu as donc un mélange de binaire et d'ASCII dans tes trames. Effectivement, les expressions régulières ne devraient pas trop t'aider. Un ocx, cela m'étonnerait que tu trouves cela. Ton protocole est trop spécialisé.
Non, moi je vois plutôt un bon retroussage de manches.
Pour le problème cité au dessus : 9000 = 0*256^3 + 0*256^2 + 35*256 + 40 0, 0, 35 et 40 sont les 4 octets représentant 9000 en mémoire et tu dois les envoyer du poids le plus fort au poids le plus faible (selon ton protocole).
-- Fred http://www.cerbermail.com/?3kA6ftaCvT Outlook Express et les News : http://foleide.free.fr/prmoe.htm
Dans son message 42e56088$0$8528$626a14ce@news.free.fr
mobilom nous dit :
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je
dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
Oula, tu as donc un mélange de binaire et d'ASCII dans tes trames.
Effectivement, les expressions régulières ne devraient pas trop t'aider.
Un ocx, cela m'étonnerait que tu trouves cela. Ton protocole est trop
spécialisé.
Non, moi je vois plutôt un bon retroussage de manches.
Pour le problème cité au dessus :
9000 = 0*256^3 + 0*256^2 + 35*256 + 40
0, 0, 35 et 40 sont les 4 octets représentant 9000 en mémoire et tu dois
les envoyer du poids le plus fort au poids le plus faible (selon ton
protocole).
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Outlook Express et les News : http://foleide.free.fr/prmoe.htm
Dans son message 42e56088$0$8528$ mobilom nous dit :
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
Oula, tu as donc un mélange de binaire et d'ASCII dans tes trames. Effectivement, les expressions régulières ne devraient pas trop t'aider. Un ocx, cela m'étonnerait que tu trouves cela. Ton protocole est trop spécialisé.
Non, moi je vois plutôt un bon retroussage de manches.
Pour le problème cité au dessus : 9000 = 0*256^3 + 0*256^2 + 35*256 + 40 0, 0, 35 et 40 sont les 4 octets représentant 9000 en mémoire et tu dois les envoyer du poids le plus fort au poids le plus faible (selon ton protocole).
-- Fred http://www.cerbermail.com/?3kA6ftaCvT Outlook Express et les News : http://foleide.free.fr/prmoe.htm
Jean Luc
Fred a écrit:
Dans son message 42e56088$0$8528$ mobilom nous dit :
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
Oula, tu as donc un mélange de binaire et d'ASCII dans tes trames. Effectivement, les expressions régulières ne devraient pas trop t'aider. Un ocx, cela m'étonnerait que tu trouves cela. Ton protocole est trop spécialisé.
Non, moi je vois plutôt un bon retroussage de manches.
Pour le problème cité au dessus : 9000 = 0*256^3 + 0*256^2 + 35*256 + 40 0, 0, 35 et 40 sont les 4 octets représentant 9000 en mémoire et tu dois les envoyer du poids le plus fort au poids le plus faible (selon ton protocole).
Bonjour et merci de votre réponse.
Y ayant passé la nuit j'ai trouvé la solution.
En fait mon prorocole n'a rien de spécialisé, c'est plutot visual basic qui ne semble pas suffisement "pro".
En C, tu cree une variable long tu met 9000 dedans, tu l'envoye vers ton port de communication, et tu est certain qu'il va t'envoyer soir 0 0 35 40 soit 40 35 0 0 (je mélange toujours le bit de poid fort et faible) puisque c'est comme cela qu'il stocke 9000 en mémoire dans un long.
J'imagine que ca marche comme ca dans tous les langages.
Maintenant, j'ai tellement avancé le prjet que l'ocx que je demandais me servirait plus à grand chose, j'ai presque fait tout même.
Mais y a un endroit où je galere et j'ai fait tres cmpliqué alors qu'on pourrait surement faire tres simple.
je vais poser la question dans un nouveau thread.
Merci de votre aide.
Fred a écrit:
Dans son message 42e56088$0$8528$626a14ce@news.free.fr
mobilom nous dit :
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je
dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
Oula, tu as donc un mélange de binaire et d'ASCII dans tes trames.
Effectivement, les expressions régulières ne devraient pas trop t'aider.
Un ocx, cela m'étonnerait que tu trouves cela. Ton protocole est trop
spécialisé.
Non, moi je vois plutôt un bon retroussage de manches.
Pour le problème cité au dessus :
9000 = 0*256^3 + 0*256^2 + 35*256 + 40
0, 0, 35 et 40 sont les 4 octets représentant 9000 en mémoire et tu dois
les envoyer du poids le plus fort au poids le plus faible (selon ton
protocole).
Bonjour et merci de votre réponse.
Y ayant passé la nuit j'ai trouvé la solution.
En fait mon prorocole n'a rien de spécialisé, c'est plutot visual basic qui
ne semble pas suffisement "pro".
En C, tu cree une variable long tu met 9000 dedans, tu l'envoye vers ton
port de communication, et tu est certain qu'il va t'envoyer soir 0 0 35 40
soit 40 35 0 0 (je mélange toujours le bit de poid fort et faible) puisque
c'est comme cela qu'il stocke 9000 en mémoire dans un long.
J'imagine que ca marche comme ca dans tous les langages.
Maintenant, j'ai tellement avancé le prjet que l'ocx que je demandais me
servirait plus à grand chose, j'ai presque fait tout même.
Mais y a un endroit où je galere et j'ai fait tres cmpliqué alors qu'on
pourrait surement faire tres simple.
Dans son message 42e56088$0$8528$ mobilom nous dit :
Si je veux envoyer le nombre 9000 dans un champs long (4 octets), je dois envoyer chr(0) puis chr(0) puis chr(35) puis chr(40)
Oula, tu as donc un mélange de binaire et d'ASCII dans tes trames. Effectivement, les expressions régulières ne devraient pas trop t'aider. Un ocx, cela m'étonnerait que tu trouves cela. Ton protocole est trop spécialisé.
Non, moi je vois plutôt un bon retroussage de manches.
Pour le problème cité au dessus : 9000 = 0*256^3 + 0*256^2 + 35*256 + 40 0, 0, 35 et 40 sont les 4 octets représentant 9000 en mémoire et tu dois les envoyer du poids le plus fort au poids le plus faible (selon ton protocole).
Bonjour et merci de votre réponse.
Y ayant passé la nuit j'ai trouvé la solution.
En fait mon prorocole n'a rien de spécialisé, c'est plutot visual basic qui ne semble pas suffisement "pro".
En C, tu cree une variable long tu met 9000 dedans, tu l'envoye vers ton port de communication, et tu est certain qu'il va t'envoyer soir 0 0 35 40 soit 40 35 0 0 (je mélange toujours le bit de poid fort et faible) puisque c'est comme cela qu'il stocke 9000 en mémoire dans un long.
J'imagine que ca marche comme ca dans tous les langages.
Maintenant, j'ai tellement avancé le prjet que l'ocx que je demandais me servirait plus à grand chose, j'ai presque fait tout même.
Mais y a un endroit où je galere et j'ai fait tres cmpliqué alors qu'on pourrait surement faire tres simple.
je vais poser la question dans un nouveau thread.
Merci de votre aide.
Fred
Dans son message Jean Luc nous dit :
[...]
En fait mon prorocole n'a rien de spécialisé, c'est plutot visual basic qui ne semble pas suffisement "pro".
Malheureux, Pas ici ;-)
En C, tu cree une variable long tu met 9000 dedans, tu l'envoye vers ton port de communication, et tu est certain qu'il va t'envoyer soir 0 0 35 40 soit 40 35 0 0 (je mélange toujours le bit de poid fort et faible) puisque c'est comme cela qu'il stocke 9000 en mémoire dans un long. J'imagine que ca marche comme ca dans tous les langages.
Il y a des moyens en VB aussi. Mais tu as bien parlé d'une chaîne de caractères ? Si tu récupérais les données en binaire directement tu aurais sans doute moins de problèmes. Mais nous ne savons pas d'où proviennent ces données.
[...]
-- Fred http://www.cerbermail.com/?3kA6ftaCvT Outlook Express et les News : http://foleide.free.fr/prmoe.htm
Dans son message 3kmvn5Fvb83sU1@individual.net
Jean Luc nous dit :
[...]
En fait mon prorocole n'a rien de spécialisé, c'est plutot visual
basic qui ne semble pas suffisement "pro".
Malheureux, Pas ici ;-)
En C, tu cree une variable long tu met 9000 dedans, tu l'envoye vers
ton port de communication, et tu est certain qu'il va t'envoyer soir
0 0 35 40 soit 40 35 0 0 (je mélange toujours le bit de poid fort et
faible) puisque c'est comme cela qu'il stocke 9000 en mémoire dans un
long.
J'imagine que ca marche comme ca dans tous les langages.
Il y a des moyens en VB aussi. Mais tu as bien parlé d'une chaîne de
caractères ? Si tu récupérais les données en binaire directement tu
aurais sans doute moins de problèmes. Mais nous ne savons pas d'où
proviennent ces données.
[...]
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Outlook Express et les News : http://foleide.free.fr/prmoe.htm
En fait mon prorocole n'a rien de spécialisé, c'est plutot visual basic qui ne semble pas suffisement "pro".
Malheureux, Pas ici ;-)
En C, tu cree une variable long tu met 9000 dedans, tu l'envoye vers ton port de communication, et tu est certain qu'il va t'envoyer soir 0 0 35 40 soit 40 35 0 0 (je mélange toujours le bit de poid fort et faible) puisque c'est comme cela qu'il stocke 9000 en mémoire dans un long. J'imagine que ca marche comme ca dans tous les langages.
Il y a des moyens en VB aussi. Mais tu as bien parlé d'une chaîne de caractères ? Si tu récupérais les données en binaire directement tu aurais sans doute moins de problèmes. Mais nous ne savons pas d'où proviennent ces données.
[...]
-- Fred http://www.cerbermail.com/?3kA6ftaCvT Outlook Express et les News : http://foleide.free.fr/prmoe.htm
Patrick Philippot
mobilom wrote:
Au passage, connaissez vous des gros sites de telechargement d'ocx ou d'activex ?
www.componentsource.com
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
mobilom wrote:
Au passage, connaissez vous des gros sites de telechargement d'ocx ou
d'activex ?
www.componentsource.com
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr