首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

stringgrid文件保存有关问题

2012-05-03 
stringgrid文件保存问题上次用妖哥的带测试代码去存数据 tfilestrean类但是 我的数据存了 但是打开的时候

stringgrid文件保存问题
上次用妖哥的带测试代码 去存数据 tfilestrean类 但是 我的数据存了 但是打开的时候却是一部分 比如我的stringgrid 行有300行 列有16列 但是打开后 只有30几行的数据能读上来 是不是这个文件流保存是有限制呢?运行环境是bcb6.
int __fastcall CrnSaveStringGridToFile(TStringGrid *sg, String strFileName)
{
  TStringList *lst = new TStringList;
  String strLine;
  int nResult = 0, i, j;

  for (i = sg->FixedRows; i < sg->RowCount; i++)
  {
  strLine = "";
  for (j = sg->FixedCols; j < sg->ColCount; j++)
  {
  strLine += sg->Cells[i][j] + '\t';
  }
  lst->Add(strLine);
  }

  lst->SaveToFile(strFileName);
  nResult = lst->Count;

  delete lst;

  return nResult;
}
int __fastcall CrnLoadStringGridFromFile(TStringGrid *sg, String strFileName)
{
  TStringList *lstRows = new TStringList;
  TStringList *lstLine = new TStringList;

  lstRows->LoadFromFile(strFileName);

  if (sg->RowCount < lstRows->Count) sg->RowCount = lstRows->Count +sg->FixedRows;

  int i, j, nResult = 0;
  String strLine;
  lstLine->Delimiter = '\t';
  for (i = 0; i < lstRows->Count; i++)
  {
  lstLine->DelimitedText = lstRows->Strings[i];
  if (sg->ColCount < lstLine->Count) sg->ColCount = lstLine->Count + sg->FixedCols;

  for (j = 0; j < lstLine->Count; j++)
  {
  sg->Cells[i + sg->FixedRows][j + sg->FixedCols] = lstLine->Strings[j];
  }
  nResult++;
  }

  delete lstLine;
  delete lstRows;

  return nResult;
}

[解决办法]
for (i = sg->FixedRows; i < sg->RowCount; i++)
应该是i=0,为何是FixedRows
[解决办法]

探讨
应该是i=0,为何是FixedRows

热点排行