Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   c++ builder xe3 StringGrid (https://www.clubdelphi.com/foros/showthread.php?t=84954)

ralmic 04-01-2014 03:57:49

c++ builder xe3 StringGrid
 
hola. alguien me puede ayudar, estot con c++ builder xe3 alguien sabe como guardar un archivo de texto desde un objeto stringGrid y despues recuperar ese texto y ponerlo en el StringGrid. el archivo esta delimitado por punto y coma

ecfisa 04-01-2014 05:18:16

Hola ralmic y bienvenido a Club Delphi :)

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Con respecto a tu consulta, podrías hacer:
Código:

// Cargar contenido de archivo a StringGrid
void FileToStringGrid(const char *aFileName, TStringGrid *sg)
{
  TStrings *sl = new TStringList;

  sl->LoadFromFile(aFileName);
  sg->RowCount = sl->Count;
  for (int i=0; i < sl->Count; i++) {
    sg->Rows[i]->Delimiter = ';';
    sg->Rows[i]->DelimitedText = sl->Strings[i];
  }
  delete sl;
}

// Guardar contenido de StringGrid en archivo
void StringGridToFile(const char *aFileName, TStringGrid *sg)
{
  TStrings *sl = new TStringList;

  for(int r = 0; r < sg->RowCount; r++) {
    String s = "";
    for (int c = 0; c < sg->ColCount; c++)
      s += sg->Cells[c][r] + ';';
    s.SetLength(s.Length()-1);
    sl->Add(s); 
  }
  sl->SaveToFile(aFileName);
  delete sl;
}

Ejemplo de llamadas:
Código:

void __fastcall TForm1::btnLoadClick(TObject *Sender)
{
  FileToStringGrid("C:\\Carpeta\\archivo.txt", StringGrid1);
}

void __fastcall TForm1::btnSaveClick(TObject *Sender)
{
  StringGridToFile("C:\\Carpeta\\archivo.txt", StringGrid1);
}

Saludos :)

ralmic 04-01-2014 14:49:17

gracias
 
gracias. enseguida probare el codigo :)


La franja horaria es GMT +2. Ahora son las 04:22:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi