Bonjour à tous!
J'ai réussi a réaliser une petite interface qui me permet d'envoyer des caractère sur le port série, mais je voudrais maintenant pouvoir envoyer un fichier complet, j'ai modifier mon code comme suit pour ma fonction d'envoie:
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 1.void QSerialPortTerminal::slot_sendPort() 2.{ 3. QString Message; 4. Message = QFileDialog::getOpenFileName(this, tr("Ouvrir fichier hex" ), 5. "D:/", 6. tr("hex files (*.hex)" )); 7. 8. if (!Message.isEmpty()) 9. loadFile(Message); 10. 11. QByteArray temp(Message.toUtf8()); 12. serialPort->sendData(temp); 13. 14. lineEditSend->clear(); 15.}
Mais comment faire pour remplire mon buffer Message avec le fichier que je veux envoyer ?
j'ai réaliser une focntion loadfile qui me permet cela mais je n'arrive pas a la réaliser, pour le moment mon code ressemble à cela :
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 1.void QSerialPortTerminal::loadFile(const QString &fileName) 2.{ 3. /************************** ECRITURE DES PROGRAMMES **********************************/ 4. QFile filePRG; 5. bool ok; 6. QString tmp_image; 7. 8. QString line; 9. QStringList list[54]; 10. 11. int i,e,s,p; 12. int nb_exercices,nb_sequences,nb_positions; 13. 14. QFile file(fileName); 15. QString resultat; 16. QString tmp; 17. int line_number; 18. QTextStream out; 19. 20. if (!file.open(QFile::ReadOnly)) { 21. QMessageBox::warning(this, tr("Chargement hex" ), 22. tr("Impossible de lire le fichier %1:\n%2." ) 23. .arg(fileName) 24. .arg(file.errorString())); 25. return; 26. } 27. 28. QTextStream in(&file); 29. 30. line_number = 0; 31. 32. while(in.atEnd()==false) 33. { 34. line = in.readLine(0); 35. //line = line.toLower(); 36. list[line_number] = line.split(";" ); 37. line_number = line_number + 1; 38. } 39. file.close(); 40.}
Il faut que je modifie mon loadfile à partire du While pour remplire correctement mon buffer, pouvez vous m'aider svp?
Je vous remercie d'avance.
Partager