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
[解决办法]