COMPOSANT TVUXSTRINGGRID

Signaler
Messages postés
27
Date d'inscription
mercredi 18 avril 2001
Statut
Membre
Dernière intervention
25 juillet 2002
-
Messages postés
1
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
8 octobre 2003
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12049-composant-tvuxstringgrid

Messages postés
1
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
8 octobre 2003

je sais pas si c est une erreur dans le code,
mais il manque un petit bout de code dans la partie ExportToHtml,
au debut je croyais que c etait moi qui avait déconné dans l install , mais apres regardé de plus pret on constate qu il n enregistre pas le fichier,

pour cela il faut rajouter (la meme ligne que l on retrouve pour le csv :D)
avant le end; de la procedure
strs.SaveToFile(FileName);
strs.Free;

(enfin c etait peu etre fait expres :)

nan peche bon boulot (clap clap)
Messages postés
27
Date d'inscription
mercredi 18 avril 2001
Statut
Membre
Dernière intervention
25 juillet 2002

Cadeau, voici la méthode à rajouter dans le code pour pouvoir importer depuis un CSV (à ajouter dans le source)

procedure TVUXStringgrid.ImportFromCSV(FileName : string;separator:string ';';FirstLineFixed:Boolean False);
{Importe le contenu d' un fichier CSV dans la grille}
var
strs : TstringList;
i,j,p : integer;
begin
strs := TstringList.Create;
strs.LoadFromFile(FileName);
RowCount := strs.Count; //MAJ le nombre de lignes de la grille
ColCount :=1;
fixedcols := 0;
if FirstlineFixed then fixedrows := 1 else fixedrows := 0;
i := 0;
while i < rowcount do begin
p := pos(separator,strs[i]);
j := 0;
while p > 0 do begin
cells[j,i] := copy(strs[i],1,p-1);
if p <= length(strs[i]) then strs[i] := copy(strs[i],p+ length(separator),length(strs[i]));
p := pos(separator,strs[i]);
j := j+1;
if (j>colcount) then colcount := colcount + 1;
end;
if length(strs[i]) > 0 then begin //Si il n' y a pas de ; à la fin, mais qu' il reste du texte
cells[j,i] := strs[i];
j:=j+1;
if (j>colcount) then colcount := colcount + 1;
end;
i := i +1;
end;
strs.Free;
end;
Messages postés
27
Date d'inscription
mercredi 18 avril 2001
Statut
Membre
Dernière intervention
25 juillet 2002

Oui c vrai je le ferais très vite
Messages postés
12
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
24 mai 2006

terrible ! c ce que je cherchais mais le probleme c qu'on ne pe pas importer depuis 1 CSV :( .... c juste ce qui mank.