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 :

Boucle For : je sais plus programmer !


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut Boucle For : je sais plus programmer !
    contexte: 1 appli Mysql

    Je reprends qq lignes glanées ça et là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if mysql_query(mySQLConnection, 'select * from nature_pgm') = 0 then begin
            myRES := mysql_store_result(mySQLConnection);
            if (myRES <> nil) then begin
                for i := 0 to myRES.row_count - 1 do begin
                    myROW := mysql_fetch_row(myRES);
                    aStr := myROW^[0];
                    ComboBox4.Items.Add(aStr);
                end;
                mysql_free_result(myRES);
            end;
        end;
    Le pb est que quand myRES.row_count vaut 0, je rentre quand même dans le For...
    Je me dis que je vieillis mal, et que mes souvenirs s'envolent + vite que mes cheveux, mais l'aide Delphi annonce clairement que
    Si valeurInitiale est supérieure à valeurFinale dans une instruction for...to ou inférieure ou égale à valeurFinale dans une instruction for...downto, alors l'instruction n'est jamais exécutée
    Alors, quoi se passe t'il ?

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    peut etre qu'en affinant ton if et en deplaçant le mysql_free_result(myRES); ton code marchera mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if mysql_query(mySQLConnection, 'select * from nature_pgm') = 0 then begin 
            myRES := mysql_store_result(mySQLConnection); 
            if ((myRES <> nil)and(myRES.row_count <> 0)) then begin 
                for i := 0 to myRES.row_count - 1 do begin 
                    myROW := mysql_fetch_row(myRES); 
                    aStr := myROW^[0]; 
                    ComboBox4.Items.Add(aStr); 
                end; 
            end;     
            mysql_free_result(myRES);
        end;
    see ya

    Clan

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Par défaut
    Est ce que i est déclaré comme Cardinal ? dans ce cas c'est normal tu entre dans la boucle puisque dans ce cas -1 = 4294967295.

  4. #4
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    BINGO !

    Merci

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

Discussions similaires

  1. [Débutant] Faire appel à un programme plusieurs fois dans une boucle for
    Par hibouchka dans le forum MATLAB
    Réponses: 9
    Dernier message: 01/03/2011, 17h09
  2. rendre plus générique une boucle for
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/05/2009, 22h31
  3. Boucle for en méta-programmation?
    Par Charlemagne dans le forum Langage
    Réponses: 10
    Dernier message: 27/04/2009, 16h48
  4. boucle for: commencer par le plus ancien ?
    Par byloute dans le forum Administration système
    Réponses: 1
    Dernier message: 03/03/2008, 10h28
  5. Batch - Deux boucle For imbriquées plus un FC
    Par Lorponos dans le forum Windows
    Réponses: 17
    Dernier message: 27/07/2006, 14h58

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