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

Arduino Discussion :

Affichage 'nan' sur LCD et gestion des boutons


Sujet :

Arduino

  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2025
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2025
    Messages : 16
    Par défaut Affichage 'nan' sur LCD et gestion des boutons
    Bonjour à tous et je suis nouveau sur ce forum.
    J'ai un problème avec un programme pour essayer de faire fonctionner un module SI4713 pour ne pas avoir tous les problèmes en même temps, je le test au fur et à mesure de son avancement.
    Pour ce faire, je dispose d'une carte Ardino Uno, d'un afficheur LiquidCristal lcd et de 4 boutons poussoirs pour parcourir les menus, monter et descendre (fréquence ou volume et un bouton de retour au début.
    A la mise sous tension de mon montage, j'ai un page d'accueil qui indique sur 2 lignes le montage et au bout de 5 secondes, je suis sur la 1ère page de programmation de ma fréquence. Normalement, sur cette page, il doit y avoir sur la 1ère ligne "FM FREQUENCY" et sur la 2ème ligne de l'afficheur la fréquence de départ qui va être réglée par la suite par les boutons poussoirs up et down soit "87.5 MHZ". Hors en début de cette 2ème ligne, j'ai 3 lettres qui s'inscrivent "nan" et qui ne correspondent à rien de ce que j'ai écrit.
    Est ce que vous pouvez m'aider à y voir plus clair?
    Je vous ai mis la pièce jointe de mon projet à ouvrir avec notepad++

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    #include <LiquidCrystal.h>
    #include <EEPROM.h>
     
    // Initialisation de l'afficheur LCD
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
     
    // Définition des pins pour les boutons
    const int pinUp = 8;
    const int pinDown = 9;
    const int pinMenu = 10;
    const int pinRetour = 7;
     
    // Variables pour les paramètres
    float frequency = 87.8; // Fréquence de départ à 87.8 MHz
    int volume = 5;
    int power = 10;
    bool stereo = true;
    bool rds = true;
     
    // Adresses EEPROM pour stocker les paramètres
    const int eepromFrequencyAddr = 0;
    const int eepromVolumeAddr = 4;
    const int eepromPowerAddr = 8;
    const int eepromStereoAddr = 12;
    const int eepromRdsAddr = 16;
     
    // Variables pour le débounce des boutons
    unsigned long lastDebounceTime = 0;
    unsigned long debounceDelay = 500; // Délai anti-rebond de 500 ms
     
    // Variable pour le mode actuel
    enum Mode { FREQUENCY, VOLUME, POWER };
    Mode currentMode = FREQUENCY;
     
    // Déclarations des fonctions
    void displayFrequency();
    void displayVolume();
    void displayPower();
    void handleUpButton();
    void handleDownButton();
    void handleMenuButton();
    void handleRetourButton();
    void saveParameters();
     
    // Définition du caractère spécial pour la flèche
    byte arrow[8] = {
      0b00000,
      0b00100,
      0b00110,
      0b00111,
      0b00110,
      0b00100,
      0b00000,
      0b00000
    };
     
    void setup() {
      // Initialisation des pins des boutons
      pinMode(pinUp, INPUT_PULLUP);
      pinMode(pinDown, INPUT_PULLUP);
      pinMode(pinMenu, INPUT_PULLUP);
      pinMode(pinRetour, INPUT_PULLUP);
     
      // Initialisation de l'afficheur LCD
      lcd.begin(16, 2);
     
      // Définir le caractère spécial pour la flèche
      lcd.createChar(0, arrow);
     
      // Affichage de l'écran de démarrage
      lcd.setCursor(0, 0);
      lcd.print("     ARDINO  ");
      lcd.setCursor(0, 1);
      lcd.print(" MiniStation 15W ");
      delay(5000);
     
      // Chargement des paramètres depuis l'EEPROM
      EEPROM.get(eepromFrequencyAddr, frequency);
      EEPROM.get(eepromVolumeAddr, volume);
      EEPROM.get(eepromPowerAddr, power);
      EEPROM.get(eepromStereoAddr, stereo);
      EEPROM.get(eepromRdsAddr, rds);
     
      // Affichage initial de la fréquence
      displayFrequency();
    }
     
    void loop() {
      // Lecture des boutons
      if (digitalRead(pinUp) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleUpButton();
          lastDebounceTime = millis();
        }
      } else if (digitalRead(pinDown) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleDownButton();
          lastDebounceTime = millis();
        }
      } else if (digitalRead(pinMenu) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleMenuButton();
          lastDebounceTime = millis();
        }
      } else if (digitalRead(pinRetour) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleRetourButton();
          lastDebounceTime = millis();
        }
      }
    }
     
    void handleUpButton() {
      switch (currentMode) {
        case FREQUENCY:
          frequency += 0.1;
          if (frequency > 108.0) frequency = 108.0;
          displayFrequency();
          break;
        case VOLUME:
          volume++;
          if (volume > 15) volume = 15;
          displayVolume();
          break;
        case POWER:
          power++;
          if (power > 15) power = 15;
          displayPower();
          break;
      }
      saveParameters();
    }
     
    void handleDownButton() {
      switch (currentMode) {
        case FREQUENCY:
          frequency-= 0.1;
          if (frequency < 87.8) frequency = 87.8; // Limite inférieure à 87.8 MHz
          displayFrequency();
          break;
        case VOLUME:
          volume--;
          if (volume < 0) volume = 0;
          displayVolume();
          break;
        case POWER:
          power--;
          if (power < 0) power = 0;
          displayPower();
          break;
      }
      saveParameters();
    }
     
    void handleMenuButton() {
      currentMode = static_cast<Mode>((static_cast<int>(currentMode) + 1) % 3);
      switch (currentMode) {
        case FREQUENCY:
          displayFrequency();
          break;
        case VOLUME:
          displayVolume();
          break;
        case POWER:
          displayPower();
          break;
      }
    }
     
    void handleRetourButton() {
      currentMode = FREQUENCY;
      displayFrequency();
    }
     
    void displayFrequency() {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("  FM FREQUENCY");
      lcd.setCursor(-0, 1);
      lcd.print(frequency, 1); // Afficher la fréquence actuelle
      lcd.print(" MHz ");
     
     
    }
     
    void displayVolume() {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Audio Modulateur");
      lcd.setCursor(0, 1);
      lcd.print("M");
      lcd.write(byte(0)); // Afficher la flèche
      for (int i = 0; i < 11; i++) {
        lcd.print(i < volume ? "\xFF" : " ");
      }
      lcd.print("MAX");
    }
     
    void displayPower() {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Fwd Power:");
      lcd.setCursor(11, 0);
      lcd.print(power);
      lcd.print("W");
      lcd.setCursor(0, 1);
      lcd.print("Rfl Power:");
      lcd.setCursor(11, 1);
      lcd.print("0W"); // À compléter avec la puissance réfléchie réelle
    }
     
    void saveParameters() {
      EEPROM.put(eepromFrequencyAddr, frequency);
      EEPROM.put(eepromVolumeAddr, volume);
      EEPROM.put(eepromPowerAddr, power);
      EEPROM.put(eepromStereoAddr, stereo);
      EEPROM.put(eepromRdsAddr, rds);
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 051
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Dans le setup(), tu vas chercher la fréquence dans l'eeprom. S'il n'y a rien dans l'eeprom à cette adresse, la fréquence n'est pas définie et il peut se produire des bizarreries à l'affichage.

    Il faut tester le contenu de l'eeprom avant affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    EEPROM.get(eepromFrequencyAddr, frequency);
    if (isnan(frequency)) { 
        frequency = 87.5;  // 87.5 par défaut
    }

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2025
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2025
    Messages : 16
    Par défaut
    J'a réinitialisé mon eeprom et tout est rentré dans l'ordre.
    J'ai un autre problème qui me pose soucis, Dans la première page de mon menu il ya la fonction réglage de la fréquence en MHz. Avec le bouton UP , j'augmente ou je descends ma fréquence de 0.1MHz seconde. Je souhaiterai que si on conserve les boutons UP et DOWN appuyés pendant 3 secondes que ce ne soit plus les dixièmes de MHZ qui soient incrémentés, mais les unités de MHz. Si je fais cela, cela modifie également le réglage de mes autres pages de menu, la page "Audio Modulateur" et la page "Power".

    J'ajouté en pièce jointe le code qui me pose problème et qui fonctionne sous Arduino.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    #include <LiquidCrystal.h>
    #include <EEPROM.h>
     
    // Initialisation de l'afficheur LCD
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
     
    // Définition des pins pour les boutons
    const int pinUp = 8;
    const int pinDown = 9;
    const int pinMenu = 10;
    const int pinRetour = 7;
     
    // Variables pour les paramètres
    float frequency = 87.8; // Fréquence de départ à 87.8 MHz
    int volume = 5;
    int power = 10;
    bool stereo = true;
    bool rds = true;
     
    // Adresses EEPROM pour stocker les paramètres
    const int eepromFrequencyAddr = 0;
    const int eepromVolumeAddr = 4;
    const int eepromPowerAddr = 8;
    const int eepromStereoAddr = 12;
    const int eepromRdsAddr = 16;
     
    // Variables pour le débounce des boutons
    unsigned long lastDebounceTime = 0;
    unsigned long debounceDelay = 500; // Délai anti-rebond de 500 ms
     
    // Variable pour le mode actuel
    enum Mode { FREQUENCY, VOLUME, POWER };
    Mode currentMode = FREQUENCY;
     
    // Déclarations des fonctions
    void displayFrequency();
    void displayVolume();
    void displayPower();
    void handleUpButton();
    void handleDownButton();
    void handleMenuButton();
    void handleRetourButton();
    void saveParameters();
     
    // Définition du caractère spécial pour la flèche
    byte arrow[8] = {
      0b00000,
      0b00100,
      0b00110,
      0b00111,
      0b00110,
      0b00100,
      0b00000,
      0b00000
    };
     
    void setup() {
      // Initialisation des pins des boutons
      pinMode(pinUp, INPUT_PULLUP);
      pinMode(pinDown, INPUT_PULLUP);
      pinMode(pinMenu, INPUT_PULLUP);
      pinMode(pinRetour, INPUT_PULLUP);
     
      // Initialisation de l'afficheur LCD
      lcd.begin(16, 2);
     
      // Définir le caractère spécial pour la flèche
      lcd.createChar(0, arrow);
     
      // Affichage de l'écran de démarrage
      lcd.setCursor(0, 0);
      lcd.print("     ARDINO  ");
      lcd.setCursor(0, 1);
      lcd.print(" MiniStation 15W ");
      delay(5000);
     
      // Chargement des paramètres depuis l'EEPROM
      EEPROM.get(eepromFrequencyAddr, frequency);
      EEPROM.get(eepromVolumeAddr, volume);
      EEPROM.get(eepromPowerAddr, power);
      EEPROM.get(eepromStereoAddr, stereo);
      EEPROM.get(eepromRdsAddr, rds);
     
      // Affichage initial de la fréquence
      displayFrequency();
    }
     
    void loop() {
      // Lecture des boutons
      if (digitalRead(pinUp) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleUpButton();
          lastDebounceTime = millis();
        }
      } else if (digitalRead(pinDown) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleDownButton();
          lastDebounceTime = millis();
        }
      } else if (digitalRead(pinMenu) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleMenuButton();
          lastDebounceTime = millis();
        }
      } else if (digitalRead(pinRetour) == LOW) {
        if (millis() - lastDebounceTime > debounceDelay) {
          handleRetourButton();
          lastDebounceTime = millis();
        }
      }
    }
     
    void handleUpButton() {
      switch (currentMode) {
        case FREQUENCY:
          frequency += 0.1;
          if (frequency > 108.0) frequency = 108.0;
          displayFrequency();
          break;
        case VOLUME:
          volume++;
          if (volume > 15) volume = 15;
          displayVolume();
          break;
        case POWER:
          power++;
          if (power > 15) power = 15;
          displayPower();
          break;
      }
      saveParameters();
    }
     
    void handleDownButton() {
      switch (currentMode) {
        case FREQUENCY:
          frequency-= 0.1;
          if (frequency < 87.8) frequency = 87.8; // Limite inférieure à 87.8 MHz
          displayFrequency();
          break;
        case VOLUME:
          volume--;
          if (volume < 0) volume = 0;
          displayVolume();
          break;
        case POWER:
          power--;
          if (power < 0) power = 0;
          displayPower();
          break;
      }
      saveParameters();
    }
     
    void handleMenuButton() {
      currentMode = static_cast<Mode>((static_cast<int>(currentMode) + 1) % 3);
      switch (currentMode) {
        case FREQUENCY:
          displayFrequency();
          break;
        case VOLUME:
          displayVolume();
          break;
        case POWER:
          displayPower();
          break;
      }
    }
     
    void handleRetourButton() {
      currentMode = FREQUENCY;
      displayFrequency();
    }
     
    void displayFrequency() {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("  FM FREQUENCY");
      lcd.setCursor(-0, 1);
      lcd.print(frequency, 1); // Afficher la fréquence actuelle
      lcd.print(" MHz ");
     
     
    }
     
    void displayVolume() {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Audio Modulateur");
      lcd.setCursor(0, 1);
      lcd.print("M");
      lcd.write(byte(0)); // Afficher la flèche
      for (int i = 0; i < 11; i++) {
        lcd.print(i < volume ? "\xFF" : " ");
      }
      lcd.print("MAX");
    }
     
    void displayPower() {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Fwd Power:");
      lcd.setCursor(11, 0);
      lcd.print(power);
      lcd.print("W");
      lcd.setCursor(0, 1);
      lcd.print("Rfl Power:");
      lcd.setCursor(11, 1);
      lcd.print("0W"); // À compléter avec la puissance réfléchie réelle
    }
     
    void saveParameters() {
      EEPROM.put(eepromFrequencyAddr, frequency);
      EEPROM.put(eepromVolumeAddr, volume);
      EEPROM.put(eepromPowerAddr, power);
      EEPROM.put(eepromStereoAddr, stereo);
      EEPROM.put(eepromRdsAddr, rds);
    }
    Fichiers attachés Fichiers attachés

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 051
    Billets dans le blog
    47
    Par défaut
    Pour gérer les boutons, c'est plus facile avec une bibliothèque dédiée comme OneButton.

    Tu instancies tes boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <OneButton.h>
     
    // ...
     
    OneButton buttonUp(pinUp, true); // true, car pullup, actif à l'état LOW
    OneButton buttonDown(pinDown, true);
    OneButton buttonMenu(pinMenu, true);
    OneButton buttonRetour(pinRetour, true);
    Dans le setup(), tu les initialises avec les fonctions de rappel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void setup() {
      buttonUp.attachClick(handleUpButton);
      buttonUp.setDebounceTicks(500); // pause antirebonds=500ms
     
      buttonDown.attachClick(handleDownButton);
      buttonDown.setDebounceTicks(500);
     
      buttonMenu.attachClick(handleMenuButton);
      buttonMenu.setDebounceTicks(500);
     
      buttonRetour.attachClick(handleRetourButton);
      buttonRetour.setDebounceTicks(500);
    }
    Et dans la loop(), tu scrutes les boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void loop() {
      // scrutation de l'état des boutons
      buttonUp.tick();
      buttonDown.tick();
      buttonMenu.tick();
      buttonRetour.tick();
    Pour l'appui long sur le bouton Up, il suffit de rajouter dans le setup() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    buttonUp.attachDuringLongPress(handleLongPressUpButton);
     
    // Appui long sur 3 secondes
    buttonUp.setPressTicks(3000);
    où handleLongPressUpButton() est la fonction qui gère le cas de l'appui long.

  5. #5
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2025
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2025
    Messages : 16
    Par défaut
    J'ai fait ce que tu m'as dit et j'ai joint le fichier modifié, mais au téléversement, il m'indique:"Compilatio error: 'OneButton' does' not a type".
    j'ai cherché si j'avais oublié une ponctuation mais je n'ai rien trouvé.
    PS: C'est deuxième fichier qui est valable. Dans le premier, je n'avais pas ajouté la bibliothèque de "OneButton"
    Fichiers attachés Fichiers attachés

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 051
    Billets dans le blog
    47
    Par défaut
    Il faut d'abord installer la bibliothèque OneButton depuis le gestionnaire de bibliothèques (ou Library Manager) de l'EDI.

  7. #7
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 553
    Par défaut
    Bonjour,

    Des trucs comme ce qui suit (ligne 102) ne peuvent donner de bon résultats.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void loop() {
      // Lecture des boutons
      void loop() {
      // scrutation de l'état des boutons
    Un conseil : quand le compilateur a un hoquet, regarder ce qui précède car la source du problème ne se manifeste souvent pas immédiatement.

    Par ailleurs le code est répété (ligne 221), le nombre d'erreurs signalées devrait être assez important.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  8. #8
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2025
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2025
    Messages : 16
    Par défaut
    Ok et merci, mon problème, enfin celui là, est résolu.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/06/2019, 20h04
  2. Gestion des boutons éteindre, redémarrer sur OpenBSD xfce4
    Par ctac_ dans le forum Shell et commandes POSIX
    Réponses: 0
    Dernier message: 16/12/2018, 10h34
  3. [DOM] DOM et gestion des boutons radio
    Par Ricou13 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2007, 20h58
  4. [VB.NET] Gestion des boutons d'un formulaire
    Par dinbougre dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2005, 10h35
  5. gestion des boutons d'une manette : relachement
    Par backfire dans le forum DirectX
    Réponses: 1
    Dernier message: 05/01/2005, 11h13

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