读书人

stringgrid文件保存有关问题

发布时间: 2012-05-03 14:06:56 作者: rapoo

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

读书人网 >C++ Builder

热点推荐