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 :

Expression constante attendue dans IntToStr


Sujet :

Delphi

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 186
    Par défaut Expression constante attendue dans IntToStr
    Désolé de demander pour si peu mais je suis en train de galérer sur un prob de conversion.

    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    valeur : Longword;
     
        valeur:=(Longword(TrameReceive[5]) shl 16 )+ (Longword(TrameReceive[6]) shl 8 )+ (Longword(TrameReceive[7]));
     
            Use.SDDF_J.Text := IntToStr(valeur div 144) ;
    La réponse du compilateur et celle du titre.

    Merci

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    bonjour

    je viens de tester avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      valeur : Longword;
    begin
      valeur:=(Longword($FF) shl 16 )+ (Longword($9) shl 8 )+ (Longword($65));
      Edit1.Text := IntToStr(valeur div 144) ; // pour info retourne 116070
    end;
    et cela fonctionne!

    [D6/XP]

    à plus

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 186
    Par défaut
    Effectivement mais c'est parce que tu lui à donné ce qu'il voulait, c'est à dire des valeurs constantes. Le problème c'est que je doit recevoir des valeurs qui viennent de l'extérieur et les afficher après conversion.

    Merci quand même.

    DB

  4. #4
    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,

    Je supose que TrameReceive est un string.

    Donc TrameReceive[5] est un char et pour avoir la valeur ordinal correspondante l'on doit faire Ord(TrameReceive[5]); et non LongWord(TrameReceive[5]);

    Je me trompe peut être mais c'est rapide à tester.

  5. #5
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    je ne pense pas que ça vienne de là non plus,
    j'ai testé le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var
      valeur : Longword;
    begin
      valeur:=(Longword('F') shl 16 )+ (ord('9') shl 8 )+ (Longword($65));
      Edit1.Text := IntToStr(valeur div 144) ; // pour info retourne 31959
    end;
    et toujours pas d'erreur!

    à plus!

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 186
    Par défaut
    d'accord je commencait à douter sérieusement de moi mais j'ai identifié d'où viens le problème.

    Effectivement vos exemple fonctionnent mais jai oublié de vous donner un autre paramètre de mon appli.

    l'édit dans lequel je dois écrire mon numéro est situé sur une form secondaire est c'est ce qui semble poser un problème à Delphi. Si cela vous éclaire un peu moi je continue à chercher.

    Merci d'avance.

    DB

  7. #7
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    C'est dans l'affectation que se situerait donc l'erreur.
    Essaies donc :
    Form2.Edit1 := IntToStr(...);
    Mais je n'ai peut-être pas bien saisi le problème.

  8. #8
    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
    Avez vous veriier si la forme sur laquelle vous voulez ecrire soit déja créer (<> nil) ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 186
    Par défaut
    Defluc : mes affectations sont déjà définie comme ça.

    Tardiff Jean-François : toutes mes fenêtres sont créées au démarrage mais sont hides. je ne fait que jouer avec des show/hide.

    merci quand même.

  10. #10
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    si tu commentes la ligne supposée fautive cela donne quoi ?

  11. #11
    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
    Au point où vous en êtes, je testerais un code aussi absurde que celui que j'ai mi en fin de message.

    Je sais que c'est idiot comme méthode, mais rien d'autre ne réussit, il faut bien en venir à ce genre de magouille traditionnelle. Au moins on peut évaluer exactement quelle ligne ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    V1, V2, V3, V4: LongWord; 
    valeur : Longword;
     begin
      if Length(TrameReceiver) < 6 then  ShowMessage(''Longeure < 6');
        V1 := (Longword(TrameReceive[5]) shl 16 );
        ShowMessage('V1 OK');
     
        V2 := (Longword(TrameReceive[6]) shl 8 );
        ShowMessage('V2 OK');
     
        V3 := (Longword(TrameReceive[7]));
        ShowMessage('V3 OK');
     
        V4:= V1 + V2 + V3;
        ShowMessage('V4 OK');
     
         valeur := V4 div 144
        ShowMessage('V5 OK');
     
       if Use <> nil then   ShowMessage('Use OK');
       if Use.SDF_J <> nil then   ShowMessage('SDF OK');
       // Je supose que text est un string, je ne test pas
            Use.SDDF_J.Text := IntToStr(Valeur) ;
     ShowMessage('OK final');

  12. #12
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    En faisant CTRL click sur IntToStr, se retrouve-t-on bien dans l'unité SysUtils ?

Discussions similaires

  1. Réponses: 22
    Dernier message: 17/11/2007, 14h59
  2. Expression bizarre !#variable! dans page Html
    Par cac2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/10/2006, 00h05
  3. Réponses: 17
    Dernier message: 02/08/2006, 15h32
  4. Constante Date dans une requête SQL
    Par tarbala dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 25/04/2006, 16h24
  5. Réponses: 1
    Dernier message: 17/11/2005, 16h48

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