Bonjour,
Comment enregistrer et lire une TListView dans et d'un fichier?
Bonjour,
Comment enregistrer et lire une TListView dans et d'un fichier?
Salut, quel type de fichier veux tu utiliser: XML, CSV, INI, etc???
Bonjour,
Soit un fichier txt classique, ou binaire, je ne veux pas qu'il puisse être lu par une autre application (de manière générale).
Personnellement je passerais par l'intermédiaire d'un TStringList qui peut aisément s'enregistrer et se lire.
Peut-être, dans ce cas pouvez-vous m'aiguiller vers un tutoriel ou un exemple via cette TStringList?
Très facile avec le TAdvListView de tmssoftware (téléchargement gratuit pour usage non commercial). Différents formats possibles.
Voici un exemple
Le fichier texte :
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 void __fastcall TfListView::bLireClick(TObject *Sender) { TStringList *slDonnees= new TStringList; AnsiString asNomFichier; if(!OpenDialog1->Execute()) return; asNomFichier = OpenDialog1->FileName; slDonnees->LoadFromFile(asNomFichier); CreerListView(slDonnees); slDonnees->Clear(); delete slDonnees; } //--------------------------------------------------------------------------- void TfListView::CreerListView(TStringList *slDonnees) { // int iNbColonnes, iNbLignes, iPos; AnsiString asNbColonnes, asNbLignes; AnsiString asSeparateur =";"; AnsiString asLigne; // Lecture des nombres de colonnes et de lignes asLigne = slDonnees->Strings[0]; iPos = asLigne.Pos(asSeparateur); asNbColonnes = asLigne.SubString(1, iPos - 1).Trim(); asLigne.Delete(1, iPos); asNbLignes = asLigne; iNbColonnes = StrToInt(asNbColonnes); iNbLignes = StrToInt(asNbLignes); // Création de la ListView // Effacement de la ListView précédente, si besoin lvDonnees->Columns->Clear(); lvDonnees->ViewStyle = vsReport; TListColumn *NlleColonne; asLigne = asLigne = slDonnees->Strings[1]; for (int iCol = 0; iCol < iNbColonnes ; iCol++ ) { AnsiString asColonne; iPos = iPos = asLigne.Pos(asSeparateur); if(iPos > 0) { asColonne = asLigne.SubString(1, iPos - 1); asLigne.Delete(1, iPos); } else asColonne = asLigne; NlleColonne = lvDonnees->Columns->Add(); NlleColonne->Caption = asColonne; } // Remplir les lignes TListItem *ListItem; for(int iLigne = 0; iLigne < iNbLignes; iLigne++) { ListItem = lvDonnees->Items->Add(); asLigne = slDonnees->Strings[2 + iLigne]; AnsiString asCaption; iPos = asLigne.Pos(asSeparateur); asCaption = asLigne.SubString(1, iPos - 1); asLigne.Delete(1, iPos); ListItem->Caption = asCaption; for(int iCol = 1; iCol < iNbColonnes; iCol++) { iPos = asLigne.Pos(asSeparateur); AnsiString asLibelle; if(iPos > 0) { asLibelle = asLigne.SubString(1, iPos - 1); asLigne.Delete(1, iPos); } else asLibelle = asLigne; ListItem->SubItems->Add(asLibelle); } } } //---------------------------------------------------------------------------
4; 5
Colonne 1; Colonne2; Colonne 3; Colonne 4
A11; A12; A13; A14
A21; A22; A23; A24
A31; A32; A33; A34
A41; A42; A43; A44
A51; A52; A53; A54
Pour l'enregistrer, il faut imaginer l'opération inverse :
Créer unTStringList
Le remplir avec les données de la ListView et le sauvegarder.
Je regarde,
est ce que la TAdvListView a les même propriété qu'une TListView?
Presque, pour plus d'info va faire un tour sur le site Web: http://www.tmssoftware.com/advlistv.htm
J'ai cliqué sur le lien, j'ai téléchargé le composant mais il n'y a aucun exemple.
Comment faire pour ajouter une ProgressBar?
Franchement je ne comprends pas pourquoi il n'y a pas d'aide?
Ce n'est pas intuitif!
Quelqu'un peut-il me dire comment ajouter une progressbar dans un subItem d'une TAdvListview?
Je ne l'ai jamais fait mais tu peux leur poser des questions (voir leur site), ils te répondront même si tu n'a pas acheté le produit.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager