Bonjour,

Il semble que j'ai un bug pour le moins étrange (dont l'origine se situe probablement entre la chaise et le clavier, mais cela m'échappe tout de même) :

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
 
void WindowConfiguration_ForceExt_Trochoide::loadChoose()
{
    QString fileName = QFileDialog::getOpenFileName(this,tr("choose spectrum"));
    T->loadSpectrum(fileName.toStdString());
 
    A->setValue(T->getAmplitude());
    lambda->setValue(T->getLongueurOnde());
    theta->setValue(T->getDeviation());
    f->setValue(T->getFrequency());
    phi->setValue(T->getDephasage());
 
    cout<<T->getAmplitude()<<" "<<T->getLongueurOnde()<<" "<<T->getDeviation()<<" "<<T->getFrequency()<<" "<<
            T->getDephasage()<<endl;
    cout<<A->value()<<" "<<lambda->value()<<" "<<theta->value()<<" "<<f->value()<<" "<<phi->value()<<endl;
}
Voici la fonction de lecture du fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void ForceExt_Trochoide::loadSpectrum(string fileName)
{
    FILE * f = fopen(fileName.c_str(),"r");
    if(f!=NULL)
    {
        fscanf(f,"A:%f \n f:%f \n lambda:%f \n phi:%f \n theta:%f ",
                &(this->A),&(this->f),&(this->lambda),&(this->phi),&(this->theta));
        cout<<this->A<<" "<<this->f<<" "<<this->lambda<<" "<<this->phi<<" "<<this->theta<<endl;
        fclose(f);
    }
}
Et voici la sortie standard (pour les deux dernières lignes il s'agit des valeurs par défaut dans les champs de saisie, excepté le 66 qui a bien été modifié) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
66 11 12 13 14
66 2.8 7.8 1.33 0
66 2.8 7.8 1.33 0
Voici le contenu du fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
A:66,000000 
f:11,000000
lambda:12,000000
phi:13,000000
theta:14,000000
Voici la sortie après un deuxieme appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
66 11 12 13 14
66 12 7.8 1.33 0
66 12 7.8 1.33 0
etc ...

Comme vous pouvez le voir une seule variable est lue par appel, la raison m'échappe mais j'imagine que cela est pourtant trivial.

Egalement ce sujet n'a peut être pas sa place dans le forum Qt, mais au cas où ...

Merci d'avance pour votre aide.