IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Savoir la fin d'un événement


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut Savoir la fin d'un événement
    Salut tous le monde, j'ai un problème pour savoir la fin d'un événement.
    J'ai crée une application de transfert de crédit téléphonique par delphi en utilisant le composant TComPort, le problème est comment savoir la fin de l'événement OnRxChar. Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 612
    Points : 25 303
    Points
    25 303
    Par défaut
    Pour OnRxChar, il faut utiliser le paramètre Count pour savoir le nombre de caractère à lire, il n'y a pas vraiment de fin !

    Si tu veux gérer un caractère de début et de fin, TComDataPacket est plus pratique !

    PS : la section Delphi ICI

    Le composant TComPort, description, c'est du C++Builder cela se traduit facilement
    Utilisation de TComPort sous Delphi 2005 ( Win 32 )

  3. #3
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Merci pour ta réponse, mais j'utilise les commandes AT pour communiquer avec le mobile danc quand j'envoie la commande j'attends une réponse, je veux savoir la fin de la trame de réponse.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 612
    Points : 25 303
    Points
    25 303
    Par défaut
    C'est donc à toi d'analyser les octets reçus et de déterminer en fonction du protocol utilisé si cela forme une trame complète,

    tu peux commencer par utiliser #13 comme StopString du TComDataPacket et 'AT' comme StartString, mais cela ne fonctionnera pas bien pour ce protocol à cause du OK et des autres codes

    dans OnRxChar, tu dois recopier les octets reçus dans un buffer, chercher le 'AT', si trouver, si cherche le #13, tu peux prélèver du buffer cette trame, si la trame n'est pas complète, un autre OnRxChar se produira
    dans le OnRxChar suivant, tu recopies les octets reçus dans le même buffer à la suite des octets précédent, tu reprends l'analyse sur l'ensemble pour trouver AT et CR, une fois trouvé, tu prélève du buffer cette trame, la fin du buffer, tu l'as remet au début pour les octets suivant

    compare OnRxChar et OnRxBuf, je n'ai pour ma part travailler qu'une seule fois avec le TComPort via TComDataPacket pour protocol ayant un STX\ETX constant !

  5. #5
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Merci beaucoup pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MooTools] mootools attendre la fin d'un évènement
    Par damien77 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/07/2010, 09h15
  2. Savoir d'où provient un évènement
    Par omageus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/05/2009, 15h51
  3. Savoir la fin d'execution d'une fonction asynchrone
    Par winnyzeboss1 dans le forum C++
    Réponses: 9
    Dernier message: 20/03/2009, 14h46
  4. Comment savoir quel élément à lancer l'événement ?
    Par Vanish dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 08/02/2007, 14h51
  5. [C#] ThreadPool quand savoir leur fin
    Par pc152 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 28/10/2004, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo