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

Delphi Discussion :

TrackBar + Envoie d'un entier


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 20
    Par défaut TrackBar + Envoie d'un entier
    Bonjour,

    POur mon pic j'ai besoin d'envoyer un entier, par exemple , j'utilise
    if (TrackBar2.Position = 1) then
    ComPort.WriteStr(#1) ; // marche

    Je souhaite faire plutot quelque chose comme ça, ce qui m'eviterait d'ecrire toute une table de conversion .

    ComPort.WriteStr(#TrackBar2.Position) ; // ne marche pas
    Connaissez vous ce que je dois mettre entre parentheses ??
    Merci par avance
    Cdlt
    Cédric

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Je pense que ca fonctionnera avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ComPort.WriteStr(chr(TrackBar2.Position)) ;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Citation Envoyé par Extrait de l'aide en français de Delphi 7

    CHR
    Renvoie le caractère correspondant àune valeur ASCII.

    Unité

    System

    Catégorie

    routines de manipulation des caractères

    Syntaxe Delphi :

    functionChr(X:Byte):Char;

    Description

    La fonction Chr renvoie le caractère dont l'ordre (sa valeur ASCII)est égal àl'expression X de type octet.
    IntToStr
    Convertit un entier en chaîne.

    Unité

    SysUtils

    Catégorie

    routines de formatage numérique

    Syntaxe Delphi :

    function IntToStr(Value:Integer):string;overload;
    functionIntToStr(Value:Int64):string;overload;

    Syntaxe C++:

    externPACKAGE AnsiString__ fastcall IntToStr(intValue);
    externPACKAGE AnsiString__ fastcallIntToStr(__ int64Value);

    Description

    IntToStr convertit un entier en une chaîne contenant la représentation décimale de ce nombre.

  4. #4
    Membre averti
    Inscrit en
    Février 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 20
    Par défaut
    Merci pour vos réponses mais cela ne correspond pas à mes attentes, ce que vous m'avez donnez envoie un caractère en ascii alors que je veux une valeur entiere equivalente précédé de #. C'est pour m'eviter de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (TrackBar1.Position = 0)  then
    ComPort.WriteStr(#0)  ;
    if (TrackBar1.Position = 1)  then
    ComPort.WriteStr(#1)  ;
    if (TrackBar1.Position = 2)  then
    ComPort.WriteStr(#2)  ;
    if (TrackBar1.Position = 3)  then
    ComPort.WriteStr(#3)  ;
    if (TrackBar1.Position =4)  then
    ComPort.WriteStr(#4)  ;

    En testant avec IntToStr, je n'envoie pas l'entier souhaité mais la valeur de l'entier correspondant au code ascii.
    Merci par avance

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut

    Citation Envoyé par boober31
    Merci pour vos réponses mais cela ne correspond pas à mes attentes, ce que vous m'avez donnez envoie un caractère en ASCII alors que je veux une valeur entiere equivalente précédé de #. C'est pour métier de faire :
    if (TrackBar1.Position = 0) then
    ComPort.WriteStr(#0) ;
    if (TrackBar1.Position = 1) then
    ComPort.WriteStr(#1) ;
    if (TrackBar1.Position = 2) then
    ComPort.WriteStr(#2) ;
    if (TrackBar1.Position = 3) then
    ComPort.WriteStr(#3) ;
    if (TrackBar1.Position =4) then
    ComPort.WriteStr(#4) ;


    En testant avec IntToStr, je n'envoie pas l'entier souhaité mais la valeur de l'entier correspondant au code ASCII.
    Merci par avance
    as tu au moins essayé le code de Malatar ?

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par boober31
    Merci pour vos réponses mais cela ne correspond pas à mes attentes, ce que vous m'avez donnez envoie un caractère en ascii alors que je veux une valeur entiere equivalente précédé de #.
    Justement,
    #0 = caractère Ascii 0
    #1 = caractère Ascii 1
    ...
    #10 = caractère Ascii 10 = LF
    ...
    #13 = caractère Ascii 13 = CR
    ...
    etc ...

    d'où le code que je t'ai fournit et que tu n'as pas du testé ...
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Par défaut
    Bonjour,

    Si je peux me permettre une remarque complémentaire : la fonction Chr prend un paramètre de type byte (donc si je ne me trompe pas compris entre 0 et 255), alors que Position est de type integer (donc un intervalle bien plus grand de valeurs possibles).

    Attention à limiter les valeurs possibles de position, je ne sais pas ce que donne (par exemple) le résultat de chr(354874521457) !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/02/2012, 13h25
  2. Envoi d'un tableau d'entier a ocaml depuis C
    Par Evanok dans le forum Caml
    Réponses: 8
    Dernier message: 26/05/2009, 16h03
  3. [Socket] Simple envoie d'entiers
    Par SAKDOSS dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 11/02/2009, 09h49
  4. pb avec mpi envoie d'entier
    Par fatjoe dans le forum C++
    Réponses: 8
    Dernier message: 19/02/2008, 14h10
  5. [FTP] Envoie un dossier entier sur un serveur !
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2006, 19h57

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