虚心求教,该如何解决
虚心求教
我想把stringgrid当中的数据全部保存起来 打算用TfileStream 数据流去读取和保存 请问怎么做呢 本人不怎么懂,虚心听教
------解决方案--------------------
我想把stringgrid当中的数据全部保存起来 打算用TfileStream 数据流去读取和保存 请问怎么做呢 本人不怎么懂,虚心听教
------解决方案--------------------
- C/C++ code
// 将StringGrid中的内容保存到文件中
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;
}
// 从文件中装载StringGrid
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;
}