Bonjour à toutes et à tous,
ce post fait suite à un précédent post "lecture d'un fichier" qui a été résolu (pour ceux que cela intérésse).
Je souhaiterais afficher des données récupérées à partir d'un fichier au format CSV dans une ListCtrl.
Je m'explique :
à la base je disposait d'un fichier contenant des chiffres séparés par un ; que j'ai réussi à lire grâce à la méthode strtok.
Maintenant que j'arrive à lire ces données je souhaiterai les afficher dans ma listctrl qui posséde 9 colonnes et un grand nombre de ligne.
Voici le code actuel :
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
42
43
44
45
46
47
48
49
50
51
52
 
bool CChargementBoiteAntenneEtAntenneDlg::loadBA(CString strFileBA)
{
// Partie concernant la lecture du fichier et la séparation ;
	bool b_result = true;
 
	char * format = strFileBA.GetBuffer(9);
	char seps[]   = ";";
	char *token;
 
	/* Establish string and get the first token: */
	token = strtok( format, seps );
	while( token != NULL )
	{
		 /* While there are tokens in "string" */
		 printf( " %s\n", token );
		 /* Get next token: */
		 token = strtok( NULL, seps );
	}
 
 
// Partie concernant l'affichage dans la ListCtrl
 
	double freq,imped1,adapt1;
	double imped2,adapt2;
 
	m_list_carac_boite_antenne.DeleteAllItems();
 
	CStdioFile file;
	if(!file.Open((LPCTSTR)strFileBA,CFile::modeRead))
	{
		AfxMessageBox("impossible d'ouvrir le fichier "+strFileBA);
		return false;
	}
 
	else
		while (file.ReadString (strFileBA))
		{
				strFileBA.Format("%1.lf",freq);
				m_list_carac_boite_antenne.InsertItem(m_list_carac_boite_antenne.GetItemCount(),strFileBA);
				strFileBA.Format("%1.4lf",imped1);
				m_list_carac_boite_antenne.SetItemText(m_list_carac_boite_antenne.GetItemCount() - 1,1,strFileBA);
				strFileBA.Format("%1.3lf",adapt1);
				m_list_carac_boite_antenne.SetItemText(m_list_carac_boite_antenne.GetItemCount() - 1,2,strFileBA);
				strFileBA.Format("%1.4lf",imped2);
				m_list_carac_boite_antenne.SetItemText(m_list_carac_boite_antenne.GetItemCount() - 1,3,strFileBA);
				strFileBA.Format("%1.3lf",adapt2);
				m_list_carac_boite_antenne.SetItemText(m_list_carac_boite_antenne.GetItemCount() - 1,4,strFileBA);
		}
 
	return b_result;
}
Merci d'avance pour votre aide