Je teste un programme en vue de remplir une StringGrid avec des coordonnees venant d'un GPS ces coordonnes sont dans un fichier texte environ 30 colonnes et plus de 6000 lignes je peu l'ouvrir, j'ai repris le code de Mattetfamilly pour charger le StringGrid mais
- premierement j'ai une erreur que ne parvient pas a resoudre
- deuxiement mon StringGrid contient 30 colonnes et apres execution une seule colonne apparait
ERREUR sur la ligne soulignee
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 //---------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "stringgrid.h" //---------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //---------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) /////////////////////////////////// { OpenDialog1->Options.Clear(); OpenDialog1->Options << ofAllowMultiSelect << ofFileMustExist; OpenDialog1->Filter = "Fichiers TXT (*.TXT) (*.txt)|*.txt|Fichiers DOC (*.DOC) (*.doc)|*.doc|Fichiers CSV (*.CSV) (*.csv)|*.csv"; OpenDialog1->FilterIndex = 1; // demarre le dialogue d'affichage des fichiers ////////////////////////////////// if(OpenDialog1->Execute()) { String FilePath = OpenDialog1->FileName; int i; int j; AnsiString convertisseur; TStringList *MyStringList = new TStringList(); MyStringList->LoadFromFile(FilePath); //Si tu as créer ton extension lors de la sauvegarde, penses à réutiliser la même ici. for(i=0;i<MyStringList->Count;i++) { convertisseur=MyStringList->Strings[i]; for(j=0;(convertisseur.Pos("\t")>=1);j++) { convertisseur[convertisseur.Pos("\t")]='\n'; } //voir s'il faut ajouter un test sur le cas où j=0 StringGrid1->ColCount = j; //Il est possible que cela soit un j-1 ou un j+1... if(i>(StringGrid1->RowCount-1)) StringGrid1->RowCount = i+1; StringGrid1->Rows[i] = convertisseur; }//fin du for delete MyStringList; //si cette ligne te poses un soucis essayes de la supprimer: en théorie elle est nécessaire. }
[C++ Error] stringgrid.cpp(51): E2034 Cannot convert 'AnsiString' to 'TStrings *'
Partager