Bonjour,
pour mon projet ihm(Gestion d'un mgasin de meuble).
j'ai relisé un logiciel avec un ficher comme base de donnée.
au debut il faut chager le fichier dans la mémoire (j'ai crée des tabeaux)
au moment de l'execution (ajouter, supprimer, afficher) j' utilise les données des tableaux.
quand on quitte il faut , que je sauvegarde les données des tableaux dans le fichier.

mais j'ai un probleme au démarrage sur le chargement du fichier dans tes tableau de variables static (partager les données dans tt les classes).
ja'i fait ca:


Data.h
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
 
 
#ifndef MEUBLE_H
#define MEUBLE_H
 
#include <qstring.h>
 
class Data
{
public:
 
 
    static QString  intitule;
    static QString  type;
    static QString couleur ;
    static int ref;
    static int  qte;
 
 
 
};
 
#endif
Form1.cpp

avec include "Data.h"
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
 
void Form1::init()
{
    int i=0,j;
    // Un tableau d'enregistrement
 
   Data *D =new Data[5];
 
 
 
     QFile f( "meubles.txt" );
 
    if( !f.open( IO_ReadOnly))
 
 {
   //Erreur d'ouverture du fichier
    std::cout << "Failed to open file." << std::endl;
 }
 
    QTextStream ts( &f );
 
  // Extraction des informations depuis le fichier
 
   while(!ts.eof( ) &&(i<5))
  {
       ts >> D[i].ref;
       ts >>  D[i].intitule;
       ts >> D[i].type;
       ts >> D[i].couleur;
       ts >> D[i].qte;
  i++;
  }
 
 
  }
à la compilation j'ai ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
.obj/form1.o: In function `Form1::init()':
form1.cpp:(.text+0x4d4): undefined reference to `Data::ref'
form1.cpp:(.text+0x4e4): undefined reference to `Data::intitule'
form1.cpp:(.text+0x4f4): undefined reference to `Data::type'
form1.cpp:(.text+0x504): undefined reference to `Data::couleur'
form1.cpp:(.text+0x514): undefined reference to `Data::qte'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [magasin] Erreur 1

merci d'avance