enregistrement lecture Stringgrid
J'ai un problème car, j'arrive à enregistrer ma stringgrid 11 colonnes par 57 lignes.
avec ce code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| {
int ii,jj;
TStringList *StrGrd=new TStringList();
for(ii=0;ii<StringGrid1->RowCount;ii++)
{
AnsiString Texte;
Texte += StringGrid1->Cells[0][ii];
Texte += " ";
for(jj=1;jj<StringGrid1->ColCount;jj++)
{
Texte += StringGrid1->Cells[jj][ii];
StrGrd->Add(Texte);
}
StrGrd->SaveToFile("101006.pla"); //cest le nom de mon fichier
delete StrGrd;
} |
mais quand il y a des cases de vide cela me décale tout; j'ai essayé l'aide de builder mais cela ne marche pas
merci à celui qui peut me renseigner
Enrgistrer StringGrid dans un fichier et ouvrire ce fichier
Salut ,j'etait besoin d'enregistrer les pixels d'image dans un StringGrid et le enrgi aussi dans un fichier text et en mm temp je peut l'ouvrire c fichier avec cette image j'ai bien utiliser merci pour les codes et voila mes codes.
//pour l'ouvertire
int k,g;
AnsiString src="";
String FilePath ;
// OpenDialog1->Options.Clear(); //j'ai pas besoin pq le fichier et de meme nom que l'image
// OpenDialog1->Options << ofAllowMultiSelect << ofFileMustExist;
// OpenDialog1->Filter = "Fichiers TXT (*.TXT) (*.txt)|*.txt|Fichiers DOC (*.DOC) (*.doc)|*.doc|Fichiers CSV (*.CSV) (*.csv)|*.csv";
// OpenDialog1->FilterIndex = 1;
if(OpenDialog1->Execute())
{
FilePath = OpenDialog1->FileName;
// ici on va charger la StringGrid avec le fichier
int i,l=0;
int j=0;
AnsiString convertisseur,pile="";
TStringList *MyStringList = new TStringList();
MyStringList->LoadFromFile(FilePath);
StringGrid1->ColCount=200; //initialisation
StringGrid1->RowCount=200;
for(i=0;i<MyStringList->Count;i++)
{
g:
l=0;
convertisseur=MyStringList->Strings[i];
pile="";
src="";
j=i;
for(k=1;k<=convertisseur.Length();k++)
{
src=convertisseur[k];
if(src==" ")
{
pile="";
src="";
l++;
}else
if(src.Pos(src)=='\r')
{
goto g;
}
else
{
pile=pile+src;
StringGrid1->Cells[l][j]=pile;
}
}
}
delete MyStringList;
}
///pour enregistrement
AnsiString Name;
AnsiString Conversion;
if (SavePictureDialog1->Execute())
{
Image1->Picture->SaveToFile(SavePictureDialog1->FileName);
Name=SavePictureDialog1->FileName; //la il faut une fonction qui prend le nom seul
TStringList *StrGrd= new TStringList();
int y;
for(y=0;y<StringGrid1->RowCount;y++)
{
Conversion=StringGrid1->Rows[y]->Text;
while(Conversion.Pos("\r")>=1)
Conversion=Conversion.Delete(Conversion.Pos("\r"),1);
while(Conversion.Pos("\n")>=1)
Conversion[Conversion.Pos("\n")]=' ';
StrGrd->Add(Conversion);
}
StrGrd->SaveToFile(Name+".txt");
delete StrGrd;
}
:) :)