Bonjour,

j'ai démarré d'un exemple sur le net qui utilise QSqlTableModel.
Pour enregistrer les différents champs du programme vers un .txt je fais

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
void Data_Exemple::txtExport() {
 
 
        QString fileName = QFileDialog::getSaveFileName(this,
            tr("Ma Sauvegarde"), "",
            tr("Save (*.txt);;All Files (*)"));
 
        if (fileName.isEmpty())
            return;
        else {
            QFile file(fileName);
            if (!file.open((QIODevice::WriteOnly) | QIODevice::Text)) {
                QMessageBox::information(this, tr("Unable to open file"),
                    file.errorString());
                return;
            }
 
            QString data;
            data ="";
 
         for (int row = 0; row < model->rowCount(); ++row) {
           QSqlRecord record = model->record(row);
           for (int field = 0; field < record.count(); ++field) {
               if(field != 0 && field !=4 ) {
                   if (field > 1) data += "\n";
 
               data += record.field(field).value().toString(); //
 
            }
           }
 
         }
 
         QTextStream output(&file);
         output.setCodec("UTF-8");
         output << data;
         QMessageBox::information(this,"Exportation","L'exportation au format txt est terminée");
 
        }
Et mon fichier .txt obtenu est comme ci-dessous:

Jean
Dupont
Homme
14/08/1972

Claude
Sigot
Homme
26/04/1968

Amandine
Rupier
Femme
02/05/1982
Maintenant je souhaiterais faire le chargement, mon application est "vide" et je charge par exemple le fichier .txt ci-dessus (ou un autre).


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
void Data_Exemple::txtImport() {
 
//J'ouvre une boite de dialogue pour aller chercher mon fichier au format txt.
    QString fileName = QFileDialog::getOpenFileName(this,
        tr("Open Mon Fichier"), "",
        tr("Mon Fichier (*.txt);;All Files (*)"));
 
    if (fileName.isEmpty())
        return;
    else {
        QFile file(fileName);
 
        if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
            QMessageBox::information(this, tr("Unable to open file"),
                file.errorString());
            return;
        }
 
//???
//La bidouille ça fonctionne pas
//???
 
        QTextStream input(&file);
        //input.setCodec("UTF-8");
        input >> data;
 
 }

Voila si quelqu'un a une idée...
Merci.